Rozdíl Mezi Třídami A Strukturami

Rozdíl Mezi Třídami A Strukturami
Rozdíl Mezi Třídami A Strukturami

Video: Rozdíl Mezi Třídami A Strukturami

Video: Rozdíl Mezi Třídami A Strukturami
Video: OOP 1 - Třídy a objekty 2024, Listopad
Anonim

Třídy vs struktury

Některé z hlavních konceptů objektově orientovaných programovacích jazyků (OO) jsou zapouzdření, dědičnost a polymorfismus. Třída a struktura jsou dva z OO konstruktů / nástrojů, které programátorům pomáhají dosáhnout těchto konceptů ve většině stávajících programovacích jazyků OO (Java neposkytuje struktury). Třídy jsou abstraktní reprezentací objektů reálného světa. Struktury jsou velmi podobné třídám s podobným použitím, ale ve srovnání s třídami mají několik omezení. Obě třídy a struktura se používají ke seskupení podobného typu dat dohromady.

Co jsou třídy?

Třídy zobrazují abstraktní znázornění objektů reálného světa, zatímco vztahy znázorňují, jak je každá třída propojena s ostatními. Třídy i vztahy mají vlastnosti zvané atributy. Metody ve třídách představují nebo definují chování těchto tříd. Metody a atributy tříd se nazývají členové třídy. Zapouzdření se obvykle dosahuje tím, že atributy jsou soukromé, zatímco se vytvářejí veřejné metody, které lze použít k přístupu k těmto atributům. Objekt je instancí třídy. Dědičnost umožňuje uživateli rozšířit třídy (tzv. Podtřídy) z jiných tříd (tzv. Super tříd). Polymorfismus umožňuje programátorovi nahradit objekt třídy místo objektu její super třídy. Podstatná jména nalezená v definici problému se obvykle stávají třídami v programu. A podobně,slovesa se stávají metodami. Veřejné, soukromé a chráněné jsou typické modifikátory přístupu používané pro třídy. Diagram tříd ukazuje třídy systémů, vztahy mezi třídami a jejich atributy.

Co jsou struktury?

Jak již bylo zmíněno výše, struktury jsou velmi podobné třídám s podobným použitím, ale jsou mírně omezenými schopnostmi než třídy. Ve skutečnosti lze třídy považovat za rozšíření struktur. Například struktury jsou stejné jako třídy v C ++, ale ve výchozím nastavení mají veřejné členy. Uživatel může definovat strukturu, která představuje typ, který je složený. Podobně jako třídy, struktury obsahují členy, které mohou patřit k mnoha typům. Klíčové slovo struct se používá k definování struktury v C a C ++, zatímco klíčové slovo Struktura se používá pro stejné v programovacích jazycích. NET.

Jaký je rozdíl mezi třídami a strukturami?

I když jsou obě třídy a struktury podobné konstrukty nalezené v programovacích jazycích, mají jemné rozdíly. Třída je typicky rozšířením struktury, a proto mají struktury některá relativní omezení. Například struktury lze považovat za stejné jako třídy v C ++, ale členové nejsou ve výchozím nastavení ve třídách veřejní (na rozdíl od struktur). To ve skutečnosti znamená, že můžete definovat třídu a strukturu s přesně stejnými vlastnostmi pomocí příslušných modifikátorů přístupu v C ++. V C však struktury nemohou obsahovat žádné funkce ani přetížené operace. Klíčová slova class a struct se používají k definování třídy a struktury v C ++. Pokud jde o jazyky. NET (C #, VB. NET atd.), Třída je referenční typ, zatímco struktura je typ hodnoty. A obvyklestruktury se používají pro menší objekty, ale třídy se používají pro větší objekty, které se uchovávají v paměti po delší dobu.

Doporučená: