Sažetak Klasa i sučelje
Sažetak klase i sučelja
Sažetak klase (ili tipa) je vrsta u sustavu nominativnog tipa koji je proglašen programom. Iako naziv implicira takve, apstraktni razred može ili ne mora uključivati apstraktne metode ili svojstva. Razred razlika odnosi se na različite konstrukte jezika koji se mogu koristiti za implementaciju apstraktnih tipova. Sažetak klase mogu se obilježiti dizajnom pitanje koje se čuva s najboljim objektno orijentiran programiranje i svoje nedovršene prirode.
Sučelje je apstraktni tip koji klase moraju implementirati kako bi odredio sučelje (općenito govoreći). Sučelja mogu sadržavati samo metode potpisa i stalne deklaracije (i statičke i konačne), nikada definicije metoda. Sučelja simuliraju višestruke nasljednosti i koriste se za kodiranje sličnosti koje se dijele među različitim vrstama klasa.
Vrste se mogu stvoriti, označiti ili simulirati na nekoliko različitih načina. Programer može označavati apstraktne tipove pomoću apstraktne ključne riječi eksplicitno, uključivanjem jedne ili više metoda u definiciju klase, nasljeđivanjem iz nekog drugog apstraktnog tipa, bez nadomještanja nedostajućih značajki potrebnih za dovršavanje definicije klase ili slanje određenog na objektno orijentiranu programski jezik poznat kao ovaj koji ne provodi metodu izravno.
Sučelja se mogu definirati pomoću apstraktnih metoda. Nastava se također mogu implementirati u sučeljima. Ako klasa provede sučelje i ne provodi sve svoje metode, mora se upotrijebiti sažetak označitelja, inače taj označitelj nije neophodan (jer su sva sučelja inherentno apstraktni). Nastava također može implementirati više sučelja.
Dok se sučelja koriste za određivanje općenitih sučelja, mogu se koristiti apstraktni tipovi za definiranje i provođenje protokola (što je skup operacija koje moraju podržavati svi objekti koji implementiraju željeni protokol). Vrste se ne pojavljuju na jezicima bez podvrsta. Budući da su takvi podtipovi prisiljeni provoditi sve potrebne funkcije, osiguravajući točnost izvršenja programa. Postoji nekoliko načina na koje se mogu stvoriti apstraktni tipovi: potpune apstraktne bazne klase su klase koje su ili izričito deklarirane kao apstraktne ili sadrže apstraktne (neizvedene) metode; Zajednički Lisp Object Systems uključuju miksine koji se temelje na sustavu Flavours; Java, naravno; i Svojstva, koja djeluje kao produžetak za Smalltalk.
Sažetak: 1. Sažetak klase (ili vrste) proglašavaju programe; sučelja su tipovi sažetka koje sve klase moraju implementirati kako bi odredili njihovo sučelje. 2. Vrste sažetka mogu se označiti pomoću ključne riječi eksplicitno; sučelja su inherentno apstraktni, stoga ne moraju biti označeni pomoću ključne riječi uopće (osim ako određena klasa implementira sučelje, ali ne provodi sve svoje metode).