88112 skanuj0121 (17)

88112 skanuj0121 (17)



132 PHP i MySQL dla każdego

class X

{

//wnętrze klasy X

}

class Y extends X

{

//wnętrze klasy Y

}

class Z extends X

{

//wnętrze klasy Z

)

Nie jest dopuszczalna sytuacja, w której jedna klasa dziedziczyłaby z więcej niż jednej klasy. Inaczej mówiąc zabronione jest, znane np. z C++, wielodziedziczenie.

Przesłanianie składowych

Kiedy wykorzystujemy dziedziczenie klas, prędzej czy później napotkamy problem przesłaniania składowych. Chodzi o sytuację, w której w obu klasach biorących udział w dziedziczeniu występują składowe o takich samych nazwach. Jak należy interpretować taką sytuację? Otóż zawsze klasa dziedzicząca przesłania składowe klasy dziedziczonej. Innymi słowy jeśli klasa B dziedziczy z klasy A i mają składowe o takich samych nazwach, to w klasie B będą widoczne tylko jej składowe. Spójrzmy na listing 4.24, który prezentuje taką właśnie sytuację.

Listing 4.24. Ilustracja przesłaniania składowych_

<?php class A {

var Spolel; function showO {

echo("Funkcja show klasy A... <br>"):

}

}

class B extends A

{

var Spolel: function showO {

echoOFunkcja show klasy B... <br>"):

}

}

SobjA = new A:

$objA->polel = 100;

$objA->show():

SobjB = new B:

$objB->polel - 100:

$objB->showO:


Wyszukiwarka

Podobne podstrony:
skanuj0114 (20) 126 PHP i MySQL dla każdego Rysunek 4.17. Efekt działania funkcji array_count_values
12225 skanuj0114 (20) 126 PHP i MySQL dla każdego Rysunek 4.17. Efekt działania funkcji array_count_
skanuj0017 (284) 28 PHP i MySQL dla każdego dla systemu Linux i: include path = :c:phpincludes"

więcej podobnych podstron