Loading:


Kurs ActionScript 3 dla początkujących - część 3

5. Dziedziczenie klas - extends

 

W programowaniu ZO bardzo duży nacisk jest położony na kompozycje oraz łatwość rozwoju programu w dalszym czasie. Często tworząc projekt wybieramy podstawę, a dopiero później tworzymy produkty, które tą podstawę wypełniają w większym lub mniejszym stopniu.

 

W tym momencie potrzebujemy dziedziczenia klas. Co to jest dziedziczenie, pewnie każdy wie w normalnym życiu, jest to na przykład dostanie w spadku majątku po śmierci dziadka, ojca lub kogoś innego z rodziny lub nabywanie genów ojca/matki w ciele dziecka.

 

Dokładnie jak powyżej dziedziczenie w programowaniu działa na tej samej podstawie, z ta różnicą, że klasy mogą odziedziczać metody od rodzica oraz zmienne.

 

Dla przykładu wyobraźmy sobie, że mamy projekt firmy 'Mineralka', która zajmuje się produkowaniem wody gazowanej oraz nie gazowanej. Najpierw stwórzmy podstawę dla każdego napoju do wyprodukowania (klasa Butelka), później dwie pod klasy będą dziedziczyły metody klasy Butelka, ale tylko te, które są im potrzebne.


class Butelka {
  internal function Butelka () {
  //pusty konstruktor
  }
  internal function dodaj_gaz() {
  //kod na dodanie gazu do wody
  }
  internal function dodaj_mineralow() {
  //kod na minerały
  }
  internal function zakrec_butelke() {
  //kod na zakręcanie butelki
  }
}

 

Teraz stwórzmy 2 klasy, które dziedziczą funkcje z Butelka klasy, woda gazowana:

 

class Gazowana extends Butelka {
  dodaj_gaz();
  zakrec_butelke();
}

Oraz woda nie gazowana:

 

class NieGazowana extends Butelka {
  dodaj_mineraly();
  zakrec_butelke();
}

 

Zauważ, że dzieci klasy Butelka mogą wykorzystywać jedną, zero lub wiele metod w klasie rodzica.

 

Dlaczego jest to dobre rozwiązanie?

 

Jeśli firma 'Mineralka' zachciała by stworzyć nowy produkt wody gazowanej ze zdrowotnymi minerałami, wtedy potrzebowała by tylko stworzyć jedna subklasę, która wyglądałaby następująco:


class GazowanaExtra extends Butelka {
  dodaj_gaz();
  dodaj_mineraly();
  zakrec_butelke();
}



Dalsza czê¶æ: 1 2 3 4 5 6 7 8 9

Napisz Artyku³






Dodano przez: divix
Ranga: Administrator serwisu Punktów: 0
Komentarze użytkowników
    • Tre¶æ komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2024 v.1.5 | design: diviXdesign & rainbowcolors