Разница между классом и интерфейсом

Ключевая разница - класс против интерфейса
 

Объектно-ориентированное программирование (ООП) является распространенной парадигмой в разработке программного обеспечения. Это помогает привнести реальные сценарии в программирование с использованием классов и объектов. Класс - это план создания объекта. Программист может создать класс со свойствами и методами. Студент и учитель являются объектами. Создание объекта называется конкретизации. ООП также использует интерфейсы. Интерфейсы и классы могут показаться похожими, но они имеют разницу. В этой статье обсуждается разница между классом и интерфейсом. ключевое отличие между классом и интерфейсом является то, что класс является ссылочным типом, который является планом для создания экземпляра объекта, в то время как интерфейс является ссылочным типом, который не может использоваться для создания объекта.

СОДЕРЖАНИЕ

1. Обзор и основные отличия
2. Что такое класс
3. Что такое интерфейс
4. Сходство между классом и интерфейсом
5. Сравнение бок о бок - класс против интерфейса в табличной форме
6. Резюме

Что такое класс?

В ООП все рассматривается как объект. Невозможно создать объект без класса. Класс - это план создания объекта. При строительстве дома архитектор рисует план. План похож на класс. Дом похож на объект. Класс - это план построения объекта. Объект - это то, что создано с использованием класса.

Класс содержит свойства и методы. Студент может иметь такие свойства, как имя, оценка, индекс. У студента могут быть такие методы, как чтение, ходьба, учеба. Класс создается с необходимыми свойствами и методами.

Синтаксис для создания класса во многих языках программирования следующий. Он создан с использованием ключевого слова class.

class class_name

// свойства

// методы

Языки программирования, такие как C # и Java, используют сходный синтаксис для создания объекта с использованием класса. Предположим, что имя класса ученик.

Студент s1 = новый студент ();

Этот s1 является объектом. Ключевое слово «new» используется для выделения памяти для свойств. Класс также имеет конструктор для инициализации свойств или переменных.

Члены класса, такие как свойства и методы, имеют модификаторы доступа. Спецификаторы доступа описывают доступность и видимость этих членов для других классов. Члены класса могут иметь спецификаторы доступа, такие как public, private и protected. Публичные участники доступны для других классов. Частные участники доступны только для класса. Защищенные члены доступны в классе и соответствующих подклассах.

Что такое интерфейс?

Абстракция - это основа объектно-ориентированного программирования. Это скрыть детали реализации и показать функциональность пользователю. Абстракция достигается с помощью абстрактных классов и интерфейсов. Абстрактный метод не имеет реализации. Класс, который содержит хотя бы один абстрактный метод, называется абстрактным классом.

Когда есть два абстрактных класса, методы, объявленные в этих классах, должны быть реализованы. Новый класс используется для реализации этих методов. Если оба класса имеют один и тот же метод, это может вызвать проблему неоднозначности. Поэтому языки программирования, такие как Java и C #, имеют интерфейс.

Интерфейсы содержат только объявление методов. Нет способа реализации. Кроме того, интерфейсы не могут быть использованы для создания объектов. Они используются для поддержки множественного наследования и для защиты кода.

Синтаксис интерфейса выглядит следующим образом. Интерфейс использует ключевое слово «интерфейс».

interface interface_name

type method1 (параметр_list);

type method2 (параметр_list);

В соответствии с вышеизложенным, интерфейсы имеют только объявление. Там нет определения. Таким образом, интерфейсы не могут создавать экземпляры объектов. Это только дает абстрактное представление о том, что интерфейс. Методы, объявленные в интерфейсе, могут быть реализованы одним или несколькими классами. Класс использует ключевое слово «реализовать» для реализации интерфейса. Ниже приведен пример, написанный на Java.

Рисунок 01: Программа с использованием интерфейсов

Согласно вышеупомянутой программе A и B являются интерфейсами. Интерфейс A имеет объявление метода, которое является sum (). Интерфейс B имеет объявление метода sub (). Класс C реализует оба интерфейса - A и B. Поэтому класс C определяет методы sum () и sub (). После создания объекта типа C можно вызвать оба метода sum () и sub ()..

Методы, объявленные внутри интерфейса, всегда должны быть открытыми, потому что реализующие классы определяют их. Интерфейс также может наследоваться от другого интерфейса..

Каковы сходства между классом и интерфейсом?

  • Оба являются ссылочными типами.
  • Оба относятся к объектно-ориентированному программированию.

В чем разница между классом и интерфейсом?

Класс против интерфейса

Класс - это ссылочный тип, который является планом для создания объекта.. Интерфейс является ссылочным типом, который не может быть создан.
 Объектная реализация
Класс используется для создания объекта. Интерфейс не может быть создан, потому что методы не могут выполнить какое-либо действие.
Конструктор
Класс, содержащий конструктор, для инициализации переменных. Интерфейс не содержит конструктора, потому что они едва ли являются переменными для инициализации.
 Ключевое слово
Класс использует ключевое слово «класс». Интерфейс использует ключевое слово «интерфейс».
Спецификатор доступа
Члены класса могут быть частными, публичными и защищенными. Члены интерфейса должны быть всегда публичными, потому что реализующие классы определяют их.

Резюме - Класс против интерфейса

Классы и интерфейсы широко используются в объектно-ориентированном программировании. Различие между классом и интерфейсом состоит в том, что класс является ссылочным типом, который является образцом для создания экземпляра объекта, а интерфейс является ссылочным типом, который не может использоваться для создания экземпляра объекта. Класс может реализовывать много интерфейсов. Но это может расширить только один суперкласс. В интерфейсе может наследоваться много интерфейсов, но не может быть реализации. Оба имеют свою важность. Программист может использовать их в соответствии с разработкой программного обеспечения.

Скачать PDF класс против интерфейса

Вы можете скачать PDF версию этой статьи и использовать ее в автономном режиме, как указано в примечании. Пожалуйста, загрузите PDF версию здесь Разница между классом и интерфейсом

Ссылка:

1.tutorialspoint.com. «Объект Java и классы.», The Point. Доступна здесь 
2.navinreddy20. Интерфейс в Java с примером, Java По Navin Reddy, 11 декабря 2012 года. Доступно здесь