Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   В каких случаях что используется - private, public, protected...? (http://www.flasher.ru/forum/showthread.php?t=152104)

RomECH 11.03.2011 18:11

В каких случаях что используется - private, public, protected...?
 
В каких случаях что используется - private, public, protected...?

Bgg 11.03.2011 18:29

Это пишут в книгах:
http://help.adobe.com/ru_RU/ActionSc...0204-7f32.html

RomECH 11.03.2011 19:28

Видал. Меня интересует пример практического применения.

Котяра 11.03.2011 19:29

Видеть не достаточно. Надо читать.

goodguy 11.03.2011 19:51

Цитата:

Сообщение от RomECH (Сообщение 979698)
Видал. Меня интересует пример практического применения.

допустим есть класс, в котором есть переменная:
Код 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
    }
}


RomECH 11.03.2011 20:06

goodguy, благодарю!

tsarapkabel 11.03.2011 23:37

Подробно в комментариях к коду.

http://flasher.ru/forum/showpost.php...66&postcount=9

cleptoman 12.03.2011 09:05

а как же internal ?
я щас пишу некий коннектор, так вот попрятал некий парсер интерналами. нечего его юзерам щупать )


Часовой пояс GMT +4, время: 12:16.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.