|
Article on other languages:
|
Класс наряду с понятием «Объект», является важным понятием объектно-ориентированного подхода в программировании (хотя существуют и беcклассовые объектно-ориентированные языки, например, JavaScript). Под классом подразумевается некая сущность, которая задает некоторое общее поведение для объектов. Таким образом, любой объект может принадлежать или не принадлежать определенному классу, то есть обладать или не обладать поведением, которое данный класс подразумевает. Класс определяет для объекта контракт, то есть правила, с помощью которых с объектом могут работать другие объекты (обычно это делается с помощью определения методов класса). Кроме того классы могут находиться друг с другом в различных отношениях, таких как Наследование или Агрегация. Фактически объектно-ориентированное программирование чаще всего сводится к созданию некоторого количества классов, описанию связей между этими классами и их свойств, и дальнейшей реализации полученных классов. Графическое представление некоторого количества классов и связей между ними называется диаграммой классов. Объектно-ориентированный подход за время своего развития накопил множество рекомендаций (паттернов) по созданию классов и иерархий классов.
Практический подходВо многих объектно-ориентированных языках программирования (например, Java) создание класса сводится к написанию некоторой структуры, содержащей набор полей, методов и конструкторов. Отношения между классами
Виды классов
Эти виды классов описаны в статье Наследование, так как связаны именно с этим отношением. Члены классовКласс определяется как список своих членов. К членам класса относятся его поля (свойства) и функции (методы) . Каждому члену класса можно установить его область доступа (access control level). Область доступа члена класса определяет участки кода, из которых к этому члену будет возможно обращаться. В большинстве объектно-ориентированных языков программирования поддерживаются следующие области доступа:
Область видимостиОбласть видимости членов класса (то есть область кода, из которой к ним можно обращаться по неквалифицированному имени — без указания имени класса или объекта) не зависит от их области доступа, и всегда совпадает с кодом методов класса. Область видимости самого класса по-разному определяется в разных языках программирования. В одних языках (таких как Delphi) все классы имеют глобальную видимость(с учетом видимости модуля), в других (таких как Java) область видимости класса связана с содержащей его единицей компиляции (в Java — с пакетом), в третьих (таких как C++ и C#) область видимости класса определяется пространствами имён (namespaces), которые задаются программистом явно и могут совпадать или не совпадать с единицами компиляции. Классы в языке DelphiНа языке Delphi класс описывается следующим образом:
Создается экземпляр (объект) класса так:
Уничтожается так:
Классы в языке PythonОпределение класса на языке Python с помощью оператора
class MyClass:
def __init__(self, arg):
"""Конструктор"""
self._arg = arg # свойство объекта
def method1(self, x):
"""метод, входящий в интерфейс класса"""
def _method2(self, x):
"""метод, не входящий в интерфейс класса"""
Создание экземпляра класса: myinstance = MyClass(4) Уничтожение экземпляра класса: del myinstance Классы в языке JavaОпределение класса на языке Java с помощью оператора
class MyClass {
String name = "Example";
// "Конструктор"
public MyClass(String name) {
this.name = name;
}
// "Метод"
public String getName() {
return name;
}
}
Создание экземпляра класса:
MyClass my = new MyClass("Example 2");
Уничтожение экземпляра класса: происходит с помощью "сборщика мусора" автоматически. Ссылки
См. Также
|
This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.
Mercedes Car
This site monitored by SitePinger.net