Цитата:
Сообщение от RomECH
Видал. Меня интересует пример практического применения.
|
допустим есть класс, в котором есть переменная:
Код AS3:
public class SomeClass {
public var publVar:Number = 1;
public function SomeClass() {
}
}
и есть другой класс, в котором создается экземпляр первого класса (SomeClass)
Код AS3:
public class AnotherClass {
public function AnotherClass () {
var someClass:SomeClass = new SomeClass();
trace(someClass.publVar); // трейс выведет 1
}
}
Если бы переменная в первом классе была private то из друго класса она была бы не доступна. И попытка ее оттрейсить привела бы к ошибке
Т.е.
private - Доступны только для класса, в котором созданы
public - Доступны для любого класса в котором есть ссылка на класс в котором объявлено это puclic свойство (как в примере)
protected - доступно для потомков класса. Например:
Код AS3:
public class SomeClass {
protected var protVar:Number = 1;
public function SomeClass() {
}
}
Теперь создаю потомка этого класса:
Код AS3:
public class DescClass extends SomeClass
{
public function DescClass () {
trace(protVar); // так же выведет 1, так как это свойство объявлено в классе-предке как protected
}
}