하위 패키지의 클래스에서 기본 패키지의 클래스에 액세스하려고하면 오류 메시지가 표시됩니다. 어느 누구도이 문제를 해결할 수 있습니까?하위 패키지에서 기본 패키지의 클래스에 액세스하는 방법 Flash AS3.0의 클래스
FYI, 내 패키지 구조는 A -> B입니다. 기본 패키지로 'A'를, 하위 패키지로 'B'를 의미합니다.
미리 감사드립니다.
하위 패키지의 클래스에서 기본 패키지의 클래스에 액세스하려고하면 오류 메시지가 표시됩니다. 어느 누구도이 문제를 해결할 수 있습니까?하위 패키지에서 기본 패키지의 클래스에 액세스하는 방법 Flash AS3.0의 클래스
FYI, 내 패키지 구조는 A -> B입니다. 기본 패키지로 'A'를, 하위 패키지로 'B'를 의미합니다.
미리 감사드립니다.
클래스 A의 개체를 만들고 해당 개체에서 클래스 인스턴스 메서드를 호출하기 만하면됩니다. 일반적으로하지 패키지 내부
package main
{
class B extends A
{
// Code here...
}
}
갖는 코드가 수행에 영향을
var classAObj:A = new A();
classObj.MethodA();
시간 내 주셔서 감사합니다. 죄송합니다. 제 문제를 설명하는 데 잘못되었습니다. 이제 나는 그것을 분명히 편집했다. 당신이 나를 도울 수 있는지보십시오. – sureshunivers
나는 코드에서 다음과 같이 보일 것이다 클래스 A를 확장하는 클래스 B를 위해 무엇을 당신이 찾고있는 생각 기능성, 더 조직적인 도구입니다. 합니다 (internal
키워드 제외.)
시간 내 주셔서 감사합니다. 죄송합니다. 제 문제를 설명하는 데 잘못되었습니다. 이제 나는 그것을 분명히 편집했다. 당신이 나를 도울 수 있는지보십시오. – sureshunivers
개인 에 대해, 이 및 공공을 보호하는 방법? 나는 다른 답변에서 어떤 설명도 볼 수 없으므로 여기에있다.
class A
{
private var _password:String;
public var username:String;
protected var serverURL:String;
public function login():void
{
// some code
callServerForLogin();
}
protected function callServerForLogin():void
{
// some code
}
}
class B extends A
{
public function B()
{
var parentPassword = super._password;
// FAILS because private and accessible only inside class A
var parentUsername = super.username
// all ok in here, public property
var parentServerURL = super.serverURL;
// all ok, because it is protected
// also we can call super.login(); or super.callServerForLogin();
}
// IMPORTANT we are also allowed to override public and protected functions
override public function login():void
{
super.login();
// we call the parent function to prevent loosing functionality;
Alert.show("Login called from class B");
}
override protected function callServerForLogin():void
{
super.callServerForLogin();
// keep also parent logic
Alert.show("calling protected method from B");
}
}
// ---- Now considering you declare an object of type B you can do the following
var bObj:B = new B();
// access public properties and call public functions from both B and A
bObj.username = "superhero";
bObj.login();
// will get compile error for next lines
bObj.serverURL = "host.port";
bObj.callServerForLogin();
시간 내 주셔서 감사합니다. 죄송합니다. 제 문제를 설명하는 데 잘못되었습니다. 이제 나는 그것을 분명히 편집했다. 당신이 나를 도울 수 있는지보십시오. – sureshunivers
안녕하세요, 아직도 이해가 잘 모르겠습니다. 어쩌면 몇 가지 코드를 게시 할 수 있습니까? –
답변을 드릴 수 없습니다. 그래서 Flash Builder는 기본 패키지에 클래스를 만들 때 경고를 표시합니다. – cleong