• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Klasa - programowanie obiektowe



    Podstrony: 1 [2] [3]
    Przeczytaj także...
    Format otwarty UML (ang. Unified Modeling Language, czyli Zunifikowany Język Modelowania) – język formalny wykorzystywany do modelowania różnego rodzaju systemów, stworzony przez Grady Boocha, Jamesa Rumbaugha oraz Ivara Jackobsona, obecnie rozwijany przez Object Management Group.W językach programowania system typów może być zdefiniowany jako system klasyfikacji wyrażeń w zależności od rodzajów wartości, jakie one generują. Każdej obliczonej wartości przypisywany jest pewien typ, który jednoznacznie definiuje, jakie operacje można na niej wykonać. Śledząc przepływ wartości, system typów stara się udowodnić, że w programie występuje poprawne typowanie, tzn. nie dochodzi do sytuacji, w której na wartości określonego typu próbujemy wykonać niedozwoloną operację.

    Klasa – częściowa lub całkowita definicja 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.

    Podprogram (inaczej funkcja lub procedura) - termin związany z programowaniem proceduralnym. Podprogram to wydzielona część programu wykonująca jakieś operacje. Podprogramy stosuje się, aby uprościć program główny i zwiększyć czytelność kodu.Klasa abstrakcyjna w programowaniu obiektowym jest to klasa, która nie może mieć swoich reprezentantów pod postacią obiektów. Zależnie od użytego języka programowania klasy abstrakcyjne tworzy się na różne sposoby.

    Zależnie od implementacji, klasy mogą istnieć w programie tylko na etapie jego kompilacji, w wyniku której są tłumaczone na kod strukturalny lub też posiadać swoją reprezentację w kodzie wynikowym w postaci metaobiektów. Za ich pomocą program może odczytywać i manipulować informacjami o klasie podczas wykonywania.

    C# (C Sharp, dosłownie "C-krzyżyk", "cis") – obiektowy język programowania zaprojektowany przez zespół pod kierunkiem Andersa Hejlsberga dla firmy Microsoft.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.

    Języki programowania implementujące klasy różnią się pod względem oferowanej funkcjonalności. Większość z nich wspiera różne formy dziedziczenia oraz hermetyzacji.

    Zagadnienia[ | edytuj kod]

    Z pojęciem klasy związanych jest wiele dodatkowych zagadnień oraz funkcjonalności, które są implementowane w językach programowania.

    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.Tablica asocjacyjna (tablica skojarzeniowa, mapa, słownik, ang. associative array, map, dictionary) – nazwa dla powszechnie stosowanego w informatyce abstrakcyjnego typu danych, który przechowuje pary (unikatowy klucz, wartość) i umożliwia dostęp do wartości poprzez podanie klucza.

    Instancjonowanie[ | edytuj kod]

    Klasa nie jest samodzielnym bytem, lecz szablonem do tworzenia nowych obiektów określonego typu i posiadających określone zachowanie. Obiekt utworzony na podstawie danej klasy nazywany jest jej instancją, a proces jego tworzenia – instancjonowaniem.

    Programowanie strukturalne to paradygmat programowania zalecający hierarchiczne dzielenie kodu na bloki, z jednym punktem wejścia i jednym lub wieloma punktami wyjścia. Chodzi przede wszystkim o nieużywanie (lub ograniczenie) instrukcji skoku (goto). Dobrymi strukturami są np. instrukcja warunkowe (if, if...else), pętle (while, repeat), wyboru (case, ale nie switch z C i potomnych). Strukturalność zakłócają instrukcje typu: break, continue, switch (w C itp.), które jednak w niektórych przypadkach znacząco podnoszą czytelność kodu.Hermetyzacja (inna używana nazwa to enkapsulacja, (ang.) encapsulation) – jedno z założeń programowania obiektowego. Hermetyzacja polega na ukrywaniu pewnych danych składowych lub metod obiektów danej klasy tak, aby były one dostępne tylko metodom wewnętrznym danej klasy lub funkcjom zaprzyjaźnionym.

    Poszczególne instancje klasy posiadają ten sam zbiór zachowań i atrybutów, lecz różnią się przechowywanymi w nich wartościami. Przykładowo, klasa Samochód opisuje pojęcie „samochodu” poprzez wymienienie charakteryzujących go atrybutów: prędkości maksymalnej, mocy silnika, producenta czy modelu. Jednak dwie różne instancje tej klasy będą różnić się od siebie wartościami tych atrybutów: jeden samochód może mieć prędkość maksymalną 220 km/h, zaś drugi – 240 km/h.

    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.Referencja w informatyce to wartość, która zawiera informacje o położeniu innej wartości w pamięci lub na innym nośniku danych. W odróżnieniu od wskaźników, zarządzanie referencjami realizowane jest wyłącznie przez kompilator lub interpreter, a programista nie posiada żadnych informacji o konkretnym sposobie implementacji referencji.

    Interfejs[ | edytuj kod]

    Uwaga: w tej sekcji termin „interfejs” nie odnosi się do pojęcia interfejsu funkcjonującego w języku Java, aczkolwiek są one ze sobą powiązane.

    Obiekty wchodzą w interakcje ze światem zewnętrznym poprzez metody. Określają one możliwe zachowania, jakie na obiekcie można wykonać, a ich definicje znajdują się w klasie danego obiektu. Metoda jest rodzajem podprogramu języka programowania z dodatkową właściwością, tj. dostępem do atrybutów obiektu, na którym została wywołana. Metody mogą zarówno odczytywać, jak i modyfikować atrybuty obiektu, dlatego określane są także mianem „zachowań”. Zbiór metod, którymi dysponuje obiekt, nazywany jest jego interfejsem.

    Język programowania – zbiór zasad określających, kiedy ciąg symboli tworzy program komputerowy oraz jakie obliczenia opisuje.Python – język programowania wysokiego poziomu ogólnego przeznaczenia i rozbudowanym pakiecie bibliotek standardowych, którego ideą przewodnią jest czytelność i klarowność kodu źródłowego. Jego składnia cechuje się przejrzystością i zwięzłością.

    W przykładzie z samochodem klasa może definiować następujące metody: jedź, hamuj, skręć lub aktualnaPrędkość. Część z nich wpływa na aktualny stan obiektu, powodując np. zatrzymanie pojazdu, zaś inne służą wyłącznie do uzyskiwania dodatkowych informacji.

    W programowaniu obiektowym zazwyczaj metody interfejsu są tak dobierane, aby były niezależne od siebie nawzajem, tj. nie ma żadnych ograniczeń na kolejność ich wywoływania.

    Kompilator – program służący do automatycznego tłumaczenia kodu napisanego w jednym języku (języku źródłowym) na równoważny kod w innym języku (języku wynikowym) . Proces ten nazywany jest kompilacją. W informatyce kompilatorem nazywa się najczęściej program do tłumaczenia kodu źródłowego w języku programowania na język maszynowy. Niektóre z nich tłumaczą najpierw do języka asemblera, a ten na język maszynowy jest tłumaczony przez asembler.Struktura lub rekord - to złożony typ danych występujący w wielu językach programowania, grupujący logicznie powiązane ze sobą dane różnego typu w jednym obszarze pamięci. Składowe struktury - pola - są etykietowane, tj. mają swoje unikatowe nazwy; poprzez podanie nazwy otrzymuje się dostęp do danego pola.


    Podstrony: 1 [2] [3]




    Warto wiedzieć że... beta

    Metoda – w programowaniu obiektowym podprogram składowy klasy, którego zadaniem jest działanie na rzecz określonych elementów danej klasy lub klas z nią spokrewnionych (zob. też dziedziczenie).
    Obiekt to podstawowe pojęcie wchodzące w skład paradygmatu programowania obiektowego w analizie i projektowaniu oprogramowania oraz w programowaniu.
    Definicja intuicyjna: Java (wym. „dżawa”) to język programowania. Programy napisane w Javie można uruchamiać na wielu urządzeniach, takich jak telefony komórkowe lub komputery oraz pod różnymi systemami operacyjnymi, przy użyciu Wirtualnej maszyny Javy, która musi być w danym środowisku zainstalowana.
    Niezmiennik (inwariant) – cecha lub właściwość, która jest stała (nie zmienia się) w trakcie przekształceń, procesów przemiany, itp.

    Reklama

    Czas generowania strony: 0.031 sek.