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

Оглавление:

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

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

Видео: Разница между классом и интерфейсом
Видео: C# — Абстрактный класс vs Интерфейс 2024, Июнь
Anonim

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

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

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

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

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

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

класс имя_класса {

// свойства

//методы

}

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

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

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

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

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

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

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

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

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

interface interface_name{

type method1(parameter_list);

type method2(parameter_list);

}

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

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

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

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

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

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

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

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

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

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

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

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

Загрузить PDF-класс и интерфейс

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

Рекомендуемые: