Loading AI tools
в программировании - функция или процедура, связанная с классом Из Википедии, свободной энциклопедии
Ме́тод в объектно-ориентированном программировании — это функция или процедура, принадлежащая[1] какому-то классу или объекту.
Как и процедура в процедурном программировании, метод состоит из некоторого количества операторов для выполнения какого-то действия и имеет набор входных аргументов.
Различают простые методы и статические методы (методы класса):
Методы предоставляют интерфейс, при помощи которого осуществляется доступ к данным объекта некоторого класса, тем самым, обеспечивая инкапсуляцию данных.
В зависимости от того, какой уровень доступа предоставляет тот или иной метод, выделяют:
public
) интерфейс — общий интерфейс для всех пользователей данного класса;protected
) интерфейс — внутренний интерфейс для всех наследников данного класса;private
) интерфейс — интерфейс, доступный только изнутри данного класса.Такое разделение интерфейсов позволяет сохранять неизменным открытый интерфейс, но изменять внутреннюю реализацию.
Конструктор — это метод, вызываемый в начале жизненного цикла объекта для создания и инициализации объекта. Конструкторы могут иметь параметры, но обычно не возвращают значения в большинстве языков. См. следующий пример на Java:
public class Main {
String _name;
int _roll;
Main(String name, int roll) { // метод конструктора
this._name = name;
this._roll = roll;
}
}
Абстрактный метод имеет только сигнатуру и не имеет тела реализации. Он часто используется, чтобы указать, что подкласс должен обеспечить реализацию метода. Абстрактные методы используются для указания интерфейсов в некоторых языках программирования.[2]
Следующий код Java показывает абстрактный класс, который необходимо расширить:
abstract class Shape {
abstract int area(int h, int w); // сигнатура абстрактного метода
}
Следующий подкласс расширяет основной класс:
public class Rectangle extends Shape {
@Override
int area(int h, int w) {
return h * w;
}
}
Если подкласс обеспечивает реализацию абстрактного метода, другой подкласс может снова сделать его абстрактным. Это называется реабстракцией.
На практике это используется редко.
В C#, виртуальный метод можно переопределить абстрактным методом. (Это также относится к Java, где все незащищенные методы являются виртуальными.)
class IA
{
public virtual void M() { }
}
abstract class IB : IA
{
public override abstract void M(); // разрешено
}
Методы интерфейсов по умолчанию также могут быть реабстрагированы, требуя подклассов для их реализации. (Это также относится к Java.)
interface IA
{
void M() { }
}
interface IB : IA
{
abstract void IA.M();
}
class C : IB { } // ошибка: класс 'C' не реализует 'IA.M'.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.