Razlika između Typescript sučelja i klase
Sučelje definira strukturu iza koje slijedi izvedbena klasa. To je ugovor koji slijedi bilo koji entitet, sučelje sadrži mnoge stvari kao svojstva, događaje i metode, a sve se to naziva članima sučelja. Sučelje sadrži jedinu izjavu ovih članova, te članove će implementirati klasa Deriving tog sučelja. Za deklariranje sučelja koristi se ključna riječ sučelja.
Primjer deklaracije sučelja.
Sintaksa:
sučelje sučelja sučelja
(
)
zaposlenik sučelja (
FIRSTNAME: niz,
Prezime: niz,
sayHello: () => string
)
var kupac: zaposlenik = (
FIRSTNAME:”Tom”,
Prezime:”Hanks”,
sayHello: (): string => (vrati "Bok tamo")
)
console.log ("Objekt kupca")
console.log (customer.firstName)
console.log (customer.lastName)
console.log (customer.sayHello ())
Gornji primjer definira sučelje. Objekt kupca je tipa zaposlenik.
Sada će objekt biti obvezujući za definiranje svih svojstava kako je određeno sučelje.
Pri sastavljanju generirat će se sljedeći JavaScript kod naveden u nastavku.
// Generirano tipkovnicom 1.8.10
var kupac = (firstName: "Tom", lastName: "Hanks",
sayHello: function () (return "Bok tamo"; )
);
console.log ("Objekt kupca");
console.log (customer.firstName);
console.log (customer.lastName);
console.log (customer.sayHello ());
Izlaz gornjeg primjera koda: -
Objekt kupca
mužjak nekih malih životinja
Hanks
bok tamo
Klasa je nacrt za objekt; to je koncept objektno orijentiranog programskog jezika. Razred pruža značajku inkapsulacije OOP-ova. Omotava članove podataka i metode i konstruktore u jedinstveno jedinstvo koje se naziva klasom, na taj način omogućava enkapsulacije. Raniju klasu nije podržao Typescript, a dobila je podršku od ES6 verzije Typescripta. Ključna riječ klase koristi se za stvaranje klasa u Typescriptu.
Sintaksa:-
class class_name (
//napraviti
)
klasa sadrži članove podataka, metode i konstruktor;
Članovi podataka koji se nazivaju i kao polje, oni predstavljaju svojstva Objekta koju stvara klasa
Pravilna kravata je stanje objekta, poput Pen-ove boje, visine, širina će se nazivati svojstvima objekta.
Metode predstavljaju ponašanje objekta kao što je pisanje funkcionalnosti olovke, aparat za kavu može praviti različite vrste kave što se naziva ponašanjem predmeta.
Konstruktori se koriste za generiranje objekta za definiranu klasu, tako da se može koristiti kao tražena mjesta.it je također odgovoran za inicijalizaciju polja klase.
Sva se trojica nazivaju članom klase koja je klasa inkapsulirana u jednu cjelinu.
Razmislite o zaposlenom razredu u tipkanju.
zaposlenik klase (
)
Pri sastavljanju, generirat će se sljedeći JavaScript kod.
// Generirano tipkovnicom 1.8.10
var Employee = (funkcija () (
funkcija Employee () (
)
zaposlenik za povratak;
) ());
Primjer: Deklariranje klase
klasa CarDemo (
// deklaracija polja
Motor: string;
// deklaracija konstruktora
konstruktor (motor: string) (
this.engine = motor
)
// deklaracija funkcije
show (): void (
console.log ("Motor je:" + ovo.vrsta)
)
)
U gornjem primjeru ime klase je CarDemo, a ako motor imena polja ima konstruktor koji inicijalizira motor naziva polja, ova ključna riječ odnosi se na trenutnu instancu klase, i to je razlog zašto. engine = zapisan motor s jednim nazivom metode - pokazati koja pokazuje vrijednost polja koje je konstruktor inicializirao.
Kompiliranjem gornjeg koda, generirat će se sljedeći JavaScript kod.
// Generirano tipkovnicom 1.8.10
var CarDemo = (funkcija () (
funkcija CarDemo (motor) (
this.engine = motor;
)
CarDemo.prototype.show = funkcija () (
console.log ("Motor je:" + ovo.vrsta);
);
povratak CarDemo;
) ());
Izrada instančnih predmeta više klase
Za izradu instancije klase koristi se nova ključna riječ, a slijedi naziv klase. Sintaksa za isto data je u nastavku -
Sintaksa
var object_name = novo ime klase ((argumenti))
Nova ključna riječ odgovorna je za pronalazak.
Desna strana izraza poziva na konstruktor. Konstruktoru trebaju biti proslijeđene vrijednosti ako je parametrizirano.
/ stvaranje objekta
var obj = novi CarDemo ("XXSY1");
// pristupiti polju
console.log ("Čitanje vrijednosti atributa Engine as:" + obj.engine);
// pristupiti funkciji
obj.show ();
Izlaz gornjeg koda je kako slijedi -
Vrijednost atributa čitanja Engine kao XXSY1
Funkcijski prikazi Motor je: XXSY1
Usporedba između tipa sučelja Typescript vs klase
Ispod je gornja 4 razlike između Typescript sučelja i klase
Ključne razlike između sučelja Typescript vs klase
Oba sučelja Typescript vs klasa popularni su izbor na tržištu; neka nam govori o nekim glavnim razlikama između Typescript sučelja i klase:
- Sučelje definira strukturirano za izvedene klase tog sučelja. sučelje sadrži samo izjavu funkcija članova.
- Klasa je odgovorna za implementaciju strukture sučelja davanjem tijelu funkcije sučelja. Ona omogućuje enkapsulaciju zamotavanjem članova podataka, funkcionira u okvir koji se naziva klasom na taj način pruža mogućnost enkapsulacije OPP-ova.
- Ključna riječ sučelja koristi se za izradu sučelja koje sadrži članove podataka, funkcije.
- Ključna riječ klase koristi se za stvaranje klase koja sadrži članove podataka, funkcije, konstruktore.
- Sučelje potpuno uklonjeno tijekom sastavljanja koda. Dok se klasa ne uklanja tijekom sastavljanja koda.
- Jedno sučelje može proširiti drugo sučelje proširivanjem ključne riječi na ovaj način sučelje pruža nasljeđivanje. Sučelje ne proširuje klasu, već definira strukturu klase. Sučelje podržava više nasljeđivanja širenjem više sučelja zajedno.
- Klasa provodi sučelje implementira ključnu riječ, klasa može proširiti i drugu klasu upotrebom ključne riječi extens i na taj način dječja klasa može koristiti roditeljsku klasu. Ova se značajka naziva nasljeđivanje, klasa ne podržava više nasljeđivanja jer u jednom trenutku samo klasa implementira jedno sučelje. moguće je s sučeljem.
Usporedba sučelja Typescript vs klase
Pogledajmo detaljan opis sučelja Typescript vs klase
Osnove usporedbe sučelja Typescript vs klase | Sučelje | klasa |
definicija | Sučelje definira strukturu nakon čega slijedi izvedbena klasa. | Omotava članove podataka i metode i konstruktore u jedinstveno jedinstvo koje se naziva klasa. |
upotreba | Za stvaranje strukture za entitet. | Izrada objekta, Inkapsulacija za polja, metoda |
Upotreba u stvarnom vremenu | Uzorak dizajna, struktura projekta | Provodi definirane arhitekture |
Ključna riječ stvaranja | za izradu sučelja koristi se ključna riječ sučelja. | klasa ključna riječ koristi se za stvaranje klase. |
Zaključak - sučelje Typescript vs klase
Sučelje Typescript vs klase imaju različitu svrhu u području razvoja softvera. Sučelje daje strukturalni građevni blok klase, dok se ta struktura provodi pomoću klase kroz koju je objekt klase kreiran.
Pomoću sučelja ćemo razviti osnovnu strukturu softvera koju će u budućnosti razviti programer, a Class implementira sučelje pružajući tijelo metode sučelja. Izrada sučelja je jednostavna u početnoj fazi razvoja softvera kada zahtjev nije jasan jer pruža fleksibilnost za promjenu, jer će ga provoditi klasa.
Preporučeni članak
Ovo je vodič za glavne razlike između Typescript sučelja prema klasi. Ovdje također raspravljamo o sučelju Typescript u odnosu na ključne klase s infografikom i tablicom usporedbe. Također možete pogledati sljedeće članke -
- Razlike tipa TypeScript i sučelje
- CoffeeScript vs TypeScript
- JavaScript vs TypeScript
- TypeScript vs protok koji je korisniji