🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: alt.pl.programy.flash-5
3 messages
3 total messages Started by MANi Mon, 05 Mar 2007 23:33
[AS|2.0] Proste klasy .. czemu?
#33962
Author: MANi
Date: Mon, 05 Mar 2007 23:33
73 lines
2226 bytes
Witam Serdecznie!

    Napisalem 2 proste klasy, ktore znajduja sie ponizej, ale podczas 
kompilacji wyskakuje taki error:
------------------
A class's instance variables may only be initialized to compile-time 
constant expressions.

      	public var weapon:Item = new Item();
------------------

    Potrafie sie pozbyc tego bledu w momencie, gdy nie uzyje konstruktora:
------------------
public var weapon:Item;
------------------

    Czy ktos potrafi mi wytlumaczyc dlaczego tak sie dzieje? Co 
zmodyfikowac, aby jednak moc korzystac z konstruktora "Item()"?



### AS|2.0

Item.as
---------
class Item {
	private var _itemName:String = null;
	
	function Item() {
		this._itemName = "---";
	}
	public function get itemName():String {
		return this._itemName;
	}	
	public function set itemName(s_itemName:String):Void {
		this._itemName = s_itemName;
	}		
}


Set.as
---------
import Item;
class Set {
	public var weapon:Item = new Item();
	private var _gName:String = null;

	function Set(s_gName:String) {
		this._gName = s_gName;
	}	
	public function get gName():String {
		return this._gName;
	}	
	public function set gName(s_gName:String):Void {
		this._gName = s_gName;
	}		
}	


Main.fla
---------
import Item;
import Set;

var mySet:Set = new Set("qwerty");
mySet.weapon.itemName = "kosa";
trace(mySet.weapon.itemName);


-- 
Pozdrawiam, MANi aka Vagabundo
______________________________
G G  ::::::::  0 x 3 6 A 0 0 D
Re: [AS|2.0] Proste klasy .. czemu?
#33965
Author: Devoth
Date: Tue, 06 Mar 2007 02:10
33 lines
1869 bytes
MANi napisał(a):
> Witam Serdecznie!
> 
>    Napisalem 2 proste klasy, ktore znajduja sie ponizej, ale podczas 
> kompilacji wyskakuje taki error:
> ------------------
> A class's instance variables may only be initialized to compile-time 
> constant expressions.
> 
>          public var weapon:Item = new Item();
> ------------------
> 
>    Potrafie sie pozbyc tego bledu w momencie, gdy nie uzyje konstruktora:
> ------------------
> public var weapon:Item;
> ------------------
> 
>    Czy ktos potrafi mi wytlumaczyc dlaczego tak sie dzieje? Co 
> zmodyfikowac, aby jednak moc korzystac z konstruktora "Item()"?
[ciach]

Bo definiować jako zmienne klasowe można tylko stałe, ew typ i zasięg 
jeszcze.

O ile się nie mylę to przypisanie (utworzenie nowego obiektu Item) 
wykonuj w konstruktorze klasy Set. Wcześniej możesz tylko zdefiniować 
jego typ.

-- 
pozdrawiam
Devoth
Questions? - Do not hesitate to ask!
www.devoth.pl
Re: [AS|2.0] Proste klasy .. czemu?
#33963
Author: MANi
Date: Tue, 06 Mar 2007 08:07
37 lines
1982 bytes
Dnia 2007-03-06 03:10, Devoth tak oto nawymyślał(a):

> MANi napisał(a):
>> Witam Serdecznie!
>>
>>    Napisalem 2 proste klasy, ktore znajduja sie ponizej, ale podczas 
>> kompilacji wyskakuje taki error:
>> ------------------
>> A class's instance variables may only be initialized to compile-time 
>> constant expressions.
>>
>>          public var weapon:Item = new Item();
>> ------------------
>>
>>    Potrafie sie pozbyc tego bledu w momencie, gdy nie uzyje konstruktora:
>> ------------------
>> public var weapon:Item;
>> ------------------
>>
>>    Czy ktos potrafi mi wytlumaczyc dlaczego tak sie dzieje? Co 
>> zmodyfikowac, aby jednak moc korzystac z konstruktora "Item()"?
> [ciach]
> 
> Bo definiować jako zmienne klasowe można tylko stałe, ew typ i zasięg 
> jeszcze.
> 
> O ile się nie mylę to przypisanie (utworzenie nowego obiektu Item) 
> wykonuj w konstruktorze klasy Set. Wcześniej możesz tylko zdefiniować 
> jego typ.
> 

Bardzo dziekuje za szybka i skuteczna pomoc :)

-- 
Pozdrawiam, MANi aka Vagabundo
______________________________
G G  ::::::::  0 x 3 6 A 0 0 D
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads