• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

jarsantos

Trabalhar com classes.

3 mensagens neste tópico

Estou a tentar fazer uma especie de carrinho de compras e para isso crie a seguinte classe:

class Filme_carrinho{

var titulo:String;
var numDias:Number;

function Filme_carrinho(_titulo, _numDias){
	titulo=_titulo;
	numDias=_numDias;
}

public function saberTitulo():String{
	return titulo;
}

public function saberDias():Number{
	return numDias;
}

public function incrementarDias(){
	numDias++;
}

public function decrementarDias(){
	if(numDias>1)
		numDias--;
}
}

Depois de fazer o import da classe adicionei 3 filmes a 1 array que será o carrinho de compras:

var carrinho:Array = new Array();
var homem_aranha = new Filme.carrinho("homem-Aranha", 2);
carrinho.push(homem_aranha);
var homem_fodido = new Filme.carrinho("Homem-lixado",1);
carrinho.push(homem_fodido);
var homem_maravilha = new Filme.carrinho("Homem-Maravilha",3);
carrinho.push(homem_Maravilha);

No final vou a testar para ver se esta a fazer a leitura correcta dos dados tipo:

teste = carrinho[1].saberTitulo();
teste1 = teste.valueOf();

e o resultado é sempre undefined.

Se alguem puder ajudar agradecia.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O problema é simples.

Não estás a criar um objecto da classe que querias. Trocaste o underscore por um ponto. :D


var homem_aranha = new Filme_carrinho("homem-Aranha", 2);


0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Além do mais devias de separar a lógica do value object. Um Value Object ou Transfer Object não tem lógica integrada nele, normalmente podes usar um delegate que fará essa função. Além do mais, aconselho-te a habituar-te a usar nomenclatura get Propriadade() e set Propriadade().

public get myvar1():String{
    return _myvar1;
} 
public set myvar1(value:String):Void{
   _myvar1 = value;
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora