Loading:

Zaplanuj Przeprowadzke - Ściągnij Darmową Aplikację na Androida

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ł




Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=12&t=2420

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: divix
Ranga: Administrator serwisu Punktów: 37169
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-17 v.1.5 | design: diviXdesign & rainbowcolors