To tylko jedna z 2 stron tej notatki. Zaloguj się aby zobaczyć ten dokument.
Zobacz
całą notatkę
1. Do czego służy i na czym polega przesłanianie danych? Pakowanie” razem powiązanych ze sobą danych i procedur nazywa się hermetyzacją albo enkapsulacją . Jest to naturalne rozwinięcie strategii przesłaniania danych dla ich ochrony przed modyfikacją. Technika obiektowa udoskonala ten proces. Dane wewnątrz obiektu są dostępne tylko dla metod tego obiektu. Wymiana informacji oparta na komunikatach oferuje dwa ważne systemy zabezpieczeń. Po pierwsze zabezpiecza zmienne obiektu przed naruszeniem przez inne obiekty. Zmienne mogą być obsługiwane tylko przez obiekt do którego należą. Obiekt przesłania czyli hermetyzuje swoje zmienne poprzez swoją definicje w klasie. Drugie zabezpieczenie jest mniej oczywiste ale obecne. Działa ono w przeciwnym kierunku. Obiekt zabezpieczając swoje zmienne oszczędza innym obiektom konieczności śledzenia jego zmiennych. Obiekt musi tylko „wiedzieć” jak zapytać inny obiekt o informację. Przechowywanie i przetwarzanie informacji w obiekcie pytanym jest poza polem widzenia obiektu pytającego. Hermetyzacja jest więc w schowaniem zmiennych i metod obiektu pod jego nazwą.
2. Jak obiekt jest powoływany do życia? Jest powoływany do życia wraz z jego definicją. Oznacza to ze żądamy w tym miejscu by kompilator zarezerwował w pamięci obszar na tą zmienna - czyli powołał ją do życia.
3. Podaj prosty przykład zapisu konstruktora obiektów? Deklaracja konstruktora: class klasa
{
public:
klasa(); kontstruktor domniemany
}
Definicja konstruktora: Cclass::Cclass()
{
}
4. Czym jest klasa o biektów. Klasa jest nowym typem zmiennej w programie. Jest to zbiór obiektów nie koniecznie tego samego typu.
Definiujemy ją jako:
class nasza_klasa { //ciało klasy }; Funkcja zawarta wewnątrz klasy to metoda, natomiast zmienna zawarta wewnątrz klasy to pole.
Klasa nie definiuje obiektów ! Jest ona typem obiektu, a nie obiektem. 5.Ile powinno być w programie destruktorów? Zależnie od zamysłów programisty (Obecność konstruktora i destruktora jest opcjonalna tj. nie jest niezbędna - tyle samo co konstruktorów dynamicznie przydzielających pamięć za pomocą operatora new ) 6. Czym są metody obiektów? Metody obiektów to inaczej funkcje składowe. Funkcje zadeklarowane wewnątrz definicji klasy są składnikami tej klasy. Nazywamy je funkcjami składowymi. Funkcje te mają zakres klasy, w której je zadeklarowaliśmy. Funkcje składowe mają pełny dostęp do wszystkich składników swojej klasy. Funkcja składowa jest jakby narzędziem, za pomocą którego dokonujemy operacji na danych składowych klasy. Szczególnie na tych składnikach, które są private i tym samym spoza klasy niedostępne.
(…)
… z pliku nagłówkowego. Obiekt inicjalizował się jako kopia wewnątrz funkcji. Przy obiektach o skomplikowanej budowie nie jest to dobry sposób, bo tworzenie kopii obiektu wewnątrz funkcji musi trwać odpowiednio długo.
9. Na czym polega przesyłanie obiektu do funkcji przez referencję:
Przesyłanie przez referencję działa tak samo jak dla wszystkich innych zmiennych w programie. Referencja działa jak przezwisko zmiennej pokazujące, gdzie jej szukać. Nie jest tworzona kopia zmiennej w funkcji, a tylko podawane miejsce jej ulokowania. 10. Co to są składniki klasy?
Wewnątrz ciała klasy deklaruje się składniki klasy. Składnikami klasy mogą być różnego rodzaju typy danych nazywane polami (są to dobrze znane zmienne). Składniki klasy możemy umieścić w 3 sekcjach private, public, protected . Wybór sekcji…
…;
Następnie stosujemy instrukcje przypisania : wsk = new char;
Powoduje ona utworzenie nowego obiektu typu znakowego. Nie ma on nazwy, ale jego adres jest przypisany do wskaźnika wsk.
Usuwamy go instrukcją : delete wsk;
16. W jakim celu i w jaki sposób tworzymy własne pliki nagłówkowe?
Pliki nagłówkowe dołączamy do programu po to, aby moc korzystać z wcześniej utworzonej klasy. Tworzymy je poprzez…
…, nie może być wskaźnik do obiektu.
Przykład przeciążenia operatora „<<”:
Deklaracja lalka pliku nagłówkowym klasy Lalka: friend CLalka operator+(CLalka obiekt_1, int liczba);
Definicja: CLalka operator+(CLalka obiekt_1, int liczba)
{
CLalka rezultat2;
rezultat2.wzrost = obiekt_1.wzrost + liczba;
return rezultat2;
}
Destruktor:
Destruktorem klasy o nazwie X jest funkcja o nazwie ~X. Jej deklaracja nie jest konieczna…
… jest kopia tego obiektu. W sytuacji, kiedy funkcja zwraca przez wartość obiekt klasy X. Wtedy także tworzona jest kopia obiektu. - To, że konstruktor kopiujący podaje obiekt kopiowany przez referencję daje mu możliwość zmiany obiektu klasy!!
14. Kiedy funkcja składowa klasy będzie traktowana jako funkcja typu inline?
Inline oznacza ze w momencie pojawienia się nazwy funkcji w programie, funkcja nie zostanie…
... zobacz całą notatkę
Komentarze użytkowników (0)