Trabalho com ActionScript 3.0 também e existem algumas coisas que enxergo no AS que são extremamente interessantes na linguagem. Uma delas inclusive tem no C#, mas não vejo no Java, e creio que é mais interessante. Trata-se da forma que funcionam os gets e sets.
Em actionScript, uma classe é escrita:
public class Teste{
public var teste1:String;
protected var teste2:String;
}
No caso, pra acessar o valor da variável seria:
objTeste.teste1;
Mas você pode escrever gets e sets, usando:
public class Teste{
public var teste1:String;
public void set teste1(teste1:String){
//metodos
}
}
Assim como você pode não escrever.
Mas o interessante que vejo é que deixa o código mais simples, você não tem que especificar getters e setters, você simplesmente acessa as propriedades e se tiver gets e sets, os mesmos serão executados, mas você não vê isso.
Outra coisa interessante é a questão de classes dinâmicas. Basicamente, eu posso criar DTOS apenas criando um novo objeto e criando as propriedades na unha, ex:
var obj:Object = new Object();
obj.name = "nome";
Óbvio que esse recurso tem que ser usado com cuidado, mas é bem interessante, você pode criar DTOs sem dor e sem muitas classes.
Cara, tbm trabalho com as3,
na minha opinião ter uma classe declarada para cada entidade é mais seguro do que trabalhar com objetos dinamicos,
falo isso porque já trabalhei num projeto que usava bastante esse recurso, e acaba dando dor de cabeça.
Muito mais fácil ter as entidades definidas com seus get e sets, até porque é necessário para comunicar com a linguagem do backend.
Já no caso dos atributos, acho mais conveniente criar os get sets como é feito no java.
Por exemplo:
public function get customer() : Customer {
if (this._customer == null) {
this._customer = new Customer();
}
}
eu costumo fazer esta verificação para ver se é nulo nos meus objetos, que só é possível com get ou instanciar direto na declaração do atributo.
Trabalho a pouco tempo com as, mais essa é a visão que tenho destes recursos.
[quote=Oliveira.caio]Isso vem desde a epoca do VB com os get e (let ou set). [/quote] Certo, mas em que essa forma é ruim? Eu ao menos não estou vendo.
Não sei aonde vc viu a vantagem desse get e set, isso só favoreceu a modelo de domínio anemico (http://martinfowler.com/bliki/AnemicDomainModel.html), onde seus objetos ao invés de terem comportamentos que manipulam seu estado e que refletem a realidade do domínio, eles tem get e set e outras classes que manipulam seu estado, já tenho birra do get e set automatico que as IDE’s disponibilizam, imagine isso rs.