Разлика између класе и сучеља

Кључна разлика - класа вс Интерфаце
 

Објектно оријентисано програмирање (ООП) уобичајена је парадигма у развоју софтвера. Помаже приближавању сценарија у стварном свету програмирању помоћу класа и објеката. Класа је нацрт за креирање објекта. Програмер може креирати класу са својствима и методама. Ученик и наставник су предмети. Стварање објекта познато је под називом инстанциатион. ООП такође користи интерфејсе. Сучеља и класа могу изгледати слично, али имају разлику. Овај чланак говори о разлици између класе и интерфејса. Тхе кључна разлика између класе и интерфејса је то класа је референтни тип који је нацрт за инстанцирање објекта, док је интерфејс референтни тип који се не може користити за инстанцирање објекта.

САДРЖАЈ

1. Преглед и кључне разлике
2. Шта је класа
3. Шта је интерфејс
4. Сличности између класе и сучеља
5. Упоредна упоредба - класа у односу на интерфејс у ​​табеларном облику
6. Резиме

Шта је класа?

У ООП-у се све сматра објектом. Није могуће креирати објект без класе. Класа је нацрт за креирање објекта. Приликом градње куће, архитекта црта план. План је сличан разреду. Кућа је слична објекту. Класа је план за изградњу објекта. Објект је оно што се ствара помоћу класе.

Класа садржи својства и методе. Ученик може имати својства као што су име, оцена, број индекса. Студент може да има методе као што су читање, ходање, учење. Ствара се класа са потребним својствима и методама.

Синтакса за креирање класе на многим програмским језицима је сљедећа. Креира се помоћу класе кључних речи.

цласс цласс_наме

// својства

// методе

Програмски језици као што су Ц # и Јава прате сличну синтаксу за креирање објекта помоћу класе. Претпоставимо да је име класе Студент.

Студент с1 = нови Студент ();

Овај с1 је објект. Кључна реч "нова" користи се за доделу меморије за својства. Класа такође има конструктор за иницијализацију својстава или променљивих.

Чланови класе, попут својстава и метода, имају модификаторе приступа. Специфичари приступа описују доступност и видљивост тих чланова другим класама. Припадници класе могу имати одредитеље приступа као што су јавни, приватни и заштићени. Јавним члановима су доступне друге класе. Приватни чланови су доступни само разреду. Заштићени чланови доступни су унутар класе и релевантних подразреда.

Шта је интерфејс?

Апстракција је стуб објектно оријентисаног програмирања. Сакрити је детаље имплементације и кориснику приказати функционалност. Апстракција се постиже коришћењем апстрактних класа и сучеља. Апстрактна метода нема имплементацију. Класа која садржи најмање једну апстрактну методу назива се апстрактна класа.

Када постоје две апстрактне класе, треба применити методе деклариране у тим класама. За примену ових метода користи се нова класа. Ако су обе класе имале исту методу, то би могло изазвати проблем нејасноће. Стога програмски језици као што су Јава и Ц # имају интерфејс.

Интерфејси садрже само декларацију метода. Не постоји метода примене. Такође, сучеља се не могу користити за креирање објеката. Користе се за подршку више насљеђивања и за осигурање кода.

Синтакса интерфејса је следећа. Интерфејс користи кључну реч „интерфејс“.

интерфаце интерфаце_наме

тип типе1 (листа_пописа);

тип типе2 (листа параметара);

Према горе наведеном, интерфејси имају само декларацију. Не постоји дефиниција. Дакле, сучеља не могу инстанцирати објекте. То даје само апстрактни приказ о томе шта је интерфејс. Методе деклариране у интерфејсу могу се имплементирати кроз једну или више класа. Класа користи кључну реч „имплементирати“ за имплементацију интерфејса. Погледајте доњи пример написан помоћу Јава.

Слика 01: Програм помоћу интерфејса

Према горе наведеном програму, А и Б су интерфејси. Интерфејс А има декларацију методе која је сума (). Интерфејс Б има под () декларацију методе. Класа Ц имплементира оба сучеља која су А и Б. Стога, класа Ц дефинира и методе сум () и суб (). Након креирања објекта типа Ц, могуће је позвати обе методе сум () и суб ().

Методе декларисане унутар интерфејса морају увек бити јавне јер их класе имплементације дефинишу. Интерфејс може да наследи и са другог интерфејса.

Које су сличности између класе и сучеља?

  • Обе су референтне врсте.
  • Оба се односе на објектно оријентисано програмирање.

Која је разлика између класе и сучеља?

Класа и интерфејс

Класа је референтни тип који је нацрт за креирање објекта. Интерфејс је референтни тип који се не може инстанцирати.
 Инстанттиатион објекта
Класа се користи за инстанцирање објекта. Интерфејс се не може инстанцирати јер методе нису у стању да изврше ниједну радњу.
Конструктор
Класа садржи конструктор за иницијализацију варијабли. Интерфејс не садржи конструктор, јер они тешко могу да се иницијализују било које променљиве.
 Кључна реч
Класа користи кључну реч „класа“. Интерфејс користи кључну реч „интерфејс“.
Аццесс Специфиер
Припадници класе могу бити приватни, јавни и заштићени. Чланови интерфејса требају бити увијек јавни јер их класе имплементације дефинирају.

Преглед - Класа вс Интерфаце

Класе и интерфејси се широко користе у објектно оријентисаном програмирању. Разлика између класе и интерфејса је у томе што је класа референтног типа који је нацрт за инстанцирање објекта, а интерфејс је референтни тип који се не може користити за инстанцирање објекта. Класа може имплементирати више интерфејса. Али може проширити само један суперразред. У интерфејсу се могу наследити многи интерфејси, али не може бити имплементација. Обоје имају своју важност. Програмер их може користити према развоју софтвера.

Преузмите ПДФ класу вс интерфејс

Можете преузети ПДФ верзију овог чланка и користити је за оффлине употребу према напомени. Молимо преузмите ПДФ верзију овде Разлика између класе и сучеља

Референце:

1.туториалспоинт.цом. „Јава објекти и класе.“, Поента. Доступно овде 
2.навинредди20. Сучеље у Јави са примером, Јава Аутор Навин Редди, 11. децембар 2012. Доступно овде