O6x07

7.Wspólne cech obiektów,

klasy pochodne – dziedziczenie,

Klasa pochodna (Klasa wywodząca się z klasy bazowej), dziedziczy dane składowe i funkcje. Można w niej dodać dane lub zamienić funkcje, oraz dodać nowe funkcje. Przykład użycia w C++:

class osoba
{
public:
     string imie;
     string nazwisko;
     void wyswietl()
     {
         cout<<imie<<" "<<nazwisko;
     }
};

To klasa pochodna:

class klient : public osoba
{
public:
     string ID;
};

zjawisko późnego wiązania – polimorfizm,

Polimorfizm w programowaniu obiektowym to wykazywanie przez metodę różnych form działania w zależności od tego jaki typ obiektu jest wskazywany przez wskaźnik lub referencję (pomijając typ wskaźnika lub referencji).
Szczególny sposób dostępu do atrybutów z specyfikatorem instance jest konsekwencją tzw. późnego wiązania tych zmiennych. Ich adresy nie są znane podczas kompilacji. Odczytywane są z odpowiednich tablic dopiero w czasie wykonania programu. Dostęp do nich jest niestety wolniejszy niż do zmiennych wiązanych w sposób wczesny (podczas kompilacji).

klasa abstrakcyjna,

klasa która nie może mieć swoich reprezentantów pod postacią obiektów i służy jedynie temu by dziedziczyć od niej pewien interfejs

interfejsy.

Interfejs klasy — w obiektowych językach programowania interfejs jest abstrakcyjną reprezentacją klasy pozwalającą na korzystanie z niej niezależnie od faktycznej implementacji. Interfejs pozwala na enkapsulację wielu różnych obiektów utworzonych w oparciu o odmienne klasy, które zawierają implementację wspólnego interfejsu. W języku C++ interfejs może być zdefiniowany jako klasa abstrakcyjna. W Javie, C#, Object Pascalu oraz PHP stosuje się w tym celu specjalną deklarację ze słowem interface.

Przeciążenie metod, a przesłanie. Przykłady.

allows the creation of several functions with the same name which differ from each other in terms of the type of the input and the type of the output of the function.

int meksyk(int a, int b)
{
    return (a+b);
}
int meksyk(int a)
{
    return(a*a);
}

a różnica między przeciążaniem a polimorfizmem jest chyba taka, że przy przeciążaniu jest kilka funkcji i kompilator decyduje, którą użyć, a przy polimorfiźmie to funkcja wybiera jak się zachować;

O ile nie zaznaczono inaczej, treść tej strony objęta jest licencją Creative Commons Attribution-ShareAlike 3.0 License