Свойства объекта | это... Что такое Свойства объекта? (original) (raw)

Свойства объекта

Свойства объекта

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

Свойства повышают гибкость и безопасность программирования и являются важным инструментом, применяемым при разработке ПО.

Содержание

Методы свойств

Во многих языках программирования свойства реализуются в виде пары методов: метод, получающий текущее значение свойства, называется акцессор (accessor); метод, задающий новое значение свойства — мутатор (mutator). В языках программирования, не поддерживающих свойства, например C++ и

Принято называть методы свойств именем свойства с приставками get и set: например, для свойства Xyzzyget_Xyzzy и set_Xyzzy (традиционный стиль Си) либо GetXyzzy и SetXyzzy (стиль getter и setter.

Свойства в C#

Свойства в C# - поля с логическим блоком, в котором есть ключевые слова get и set.

Пример класса со свойством:

class MyClass { private int field; public int Field { get { return field; } set { field = value; } } }

Свойства в Delphi

Для описания свойства в property.

Пример класса со свойством: TMyClass = class private FMyField: Integer; procedure SetMyField(const Value: Integer); function GetMyField: Integer; protected public property MyField: Integer read GetMyField write SetMyField; end;

Свойства в ActionScript

class MyClass { private _foo : int;

public function get foo () : int {
     return _foo;
}
public function set foo (foo : int) : void {
     _foo = foo;
}

}

Свойства в Ruby

Описания свойства в

Однако простое обращение к внутренней переменной объекта может быть заменено на вызов метода attr_accessor :duration class Song attr_accessor :duration end Более интересным будет пример создания свойства duration_in_minutes, которое будет возвращать или устанавливать время длительности в минутах: class Song def duration_in_minutes @duration/60.0 end def duration_in_minutes=(value) @duration = (value*60).to_i end end При этом изменение свойства duration_in_minutes повлияет на свойство duration. Например song = Song.new song.duration_in_minutes = 1.2 print song.duration # напечатает 72

Wikimedia Foundation.2010.

Полезное

Смотреть что такое "Свойства объекта" в других словарях: