Cecha (programowanie obiektowe)

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania

Cecha (ang. trait) – mechanizm współdzielenia zachowania klas podobny do domieszek, pozwalający ominąć część ograniczeń pojedynczego dziedziczenia. Cechy zostały opracowane w Software Composition Group na Uniwersytecie w Bernie.

Squeak - implementacja języka Smalltalk. Cechy: multimedialność, niezależność od platformy, darmowy, licencja Open Source.PHP – obiektowy język programowania zaprojektowany do generowania stron internetowych i budowania aplikacji webowych w czasie rzeczywistym.

Problem[ | edytuj kod]

W programowaniu obiektowym dwie klasy mogą współdzielić część funkcjonalności i implementacji wyłącznie wtedy, gdy wywodzą się ze wspólnej klasy bazowej (dziedziczenie). Większość języków programowania nie obsługuje wielokrotnego dziedziczenia po kilku klasach naraz z powodu powstających wtedy wielu patologii. Programiści tracą jednak dużą część przydatnych technik. Bardzo często potrzeba, aby używane w pewnym miejscu programu obiekty posiadały pewną funkcjonalność nawet, jeśli nie wywodzą się ze wspólnego rdzenia. Podstawowym sposobem rozwiązania tego problemu są interfejsy definiujące zestaw wymaganych metod, które klasa musi we własnym zakresie zaimplementować. W takim modelu klasa może dziedziczyć po jednej klasie bazowej oraz implementować dowolną liczbę interfejsów. Aby umożliwić niezależne od dziedziczenia wstrzykiwanie także implementacji, zaproponowane zostały dwa rozwiązania: bardziej skomplikowane domieszki oraz prostsze cechy.

Uniwersytet w Bernie (de: Universität Bern) – państwowy uniwersytet założony w 1834 r. w szwajcarskiej stolicy – Bernie.W programowaniu obiektowym interfejs jest definicją abstrakcyjnego typu posiadającego jedynie operacje, a nie dane. Kiedy w konkretnej klasie zdefiniowane są wszystkie metody interfejsu mówimy, że klasa implementuje dany interfejs. W programie mogą być tworzone zmienne typu referencja do interfejsu, nie można natomiast tworzyć obiektów tego typu. Referencja może wskazywać na obiekt dowolnej klasy implementującej dany interfejs. Interfejs określa udostępniane operacje, nie zawiera natomiast ich implementacji i danych. Z tego powodu klasy mogą implementować wiele interfejsów, bez problemów wynikających z wielokrotnego dziedziczenia. Wszystkie metody w interfejsie z reguły muszą być publiczne.


Podstrony: 1 [2] [3]




Warto wiedzieć że... beta

JavaScript, JS – skryptowy język programowania, stworzony przez firmę Netscape, najczęściej stosowany na stronach internetowych. Pod koniec lat 90. XX wieku organizacja ECMA wydała na podstawie JavaScriptu standard języka skryptowego o nazwie ECMAScript. Głównym autorem JavaScriptu jest Brendan Eich.
Scala − język programowania łączący cechy języków funkcyjnych i obiektowych. Scala działa na Wirtualnej Maszynie Javy, a także na Java Platform, Micro Edition Connected Limited Device Configuration i platformie .NET. Nazwa ma za zadanie podkreślać skalowalność języka, stąd Scala ("scalable language").
Programowanie obiektowe (ang. object-oriented programming) — paradygmat programowania, w którym programy definiuje się za pomocą obiektów — elementów łączących stan (czyli dane, nazywane najczęściej polami) i zachowanie (czyli procedury, tu: metody). Obiektowy program komputerowy wyrażony jest jako zbiór takich obiektów, komunikujących się pomiędzy sobą w celu wykonywania zadań.
W programowaniu obiektowym klasa jest częściową lub całkowitą definicją dla obiektów. Definicja obejmuje dopuszczalny stan obiektów oraz ich zachowania. Obiekt, który został stworzony na podstawie danej klasy nazywany jest jej instancją. Klasy mogą być typami języka programowania - przykładowo, instancja klasy Owoc będzie mieć typ Owoc. Klasy posiadają zarówno interfejs, jak i strukturę. Interfejs opisuje, jak komunikować się z jej instancjami za pośrednictwem metod, zaś struktura definiuje sposób mapowania stanu obiektu na elementarne atrybuty.
Dziedziczeniem (ang. inheritance) w programowaniu obiektowym nazywamy mechanizm współdzielenia funkcjonalności między klasami. Klasa może dziedziczyć po innej klasie, co oznacza, że oprócz swoich własnych atrybutów oraz zachowań, uzyskuje także te pochodzące z klasy, z której dziedziczy. Klasa dziedzicząca jest nazywana klasą pochodną lub potomną (w j. angielskim: subclass lub derived class), zaś klasa, z której następuje dziedziczenie — klasą bazową (w ang. superclass). Z jednej klasy bazowej można uzyskać dowolną liczbę klas pochodnych. Klasy pochodne posiadają obok swoich własnych metod i pól, również kompletny interfejs klasy bazowej.
Funkcja (łac. functio, -onis, „odbywanie, wykonywanie, czynność”) – dla danych dwóch zbiorów X i Y przyporządkowanie każdemu elementowi zbioru X dokładnie jednego elementu zbioru Y. Oznacza się ją na ogół f, g, h itd.
Smalltalk jest w pełni obiektowym, reflektywnym językiem programowania z dynamicznym typowaniem. Umożliwia to w praktyce zupełnie inny sposób programowania od tego, do jakiego są przyzwyczajeni programiści używający współczesnych języków obiektowych (np. Java), które rozwinęły się z wcześniejszych języków proceduralnych takich jak C, czy Pascal.

Reklama