Comparação de alguns recursos - ActionScript / Java

Olá,

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.

O que vocês acham destes recursos?

Grato!

Isso vem desde a epoca do VB com os get e (let ou set).

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.

[]'s!

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.