Compare Produtos, Lojas e Preços

quinta-feira, 30 de outubro de 2008

Linguagem Java: um tormento?

Vou escrever agora esse post de cunho pessoal, só pra desabafar mesmo.

Tenho uma matéria na faculdade, Programação Orientada a Objetos, mais conhecida como POO. A linguagem utilizada é o Java (foi a escolhida pelo professor, mas poderia ter sido qualquer outra OO, como C++).

Estou tendo algumas dificuldades na matéria. Talvez meu maior impedimento seja a minha chatice em querer saber pra que servem as coisas - no caso, as funções do Java. E nas aulas não fica muito claro pra mim o sentido dessas funções.

Exemplo: pra quê polimorfismo? Poxa, se eu quero que um "Gerente" seja "Gerente", por que eu devo declará-lo como "Empregado" e só assim instanciar como "Gerente" se a classe "Gerente" herda as caracteristicas de Empregado? Não é mais fácil declarar e instanciar tudo como "Gerente"? (baguncei tudo, mas Java é uma bagunça por si só).

(clique na imagem pra ver um exemplo do que eu tô falando).










Outro: Essa realmente é ridícula. Pensa comigo: você tem um programa que grava o salário de um Gerente numa certa variável "salario" e se você não quer que o salário extrapole o valor de R$2000,00, não é tão mais simples colocar um "if salario>2000" exibe erro? Então por que eu tenho que aprender a criar uma nova exceção para caso o salário ultrapasse esse valor ele exiba um maldito erro?

Ok, posso até não estar aprendendo direito Java, ou como diz meu amigo Adriel "não peguei a essência da linguagem ainda". Bom, eu me esforço.

[ironia] A propósito, fazer prova sem treinar antes com exercícios é um pouco difícil, não? [/ironia]

See ya.

P.S.: Gosto de Programar, e definitivamente eu prefiro C em relação à Java.
P.S.2: As imagens são dos slides do meu professor.

Um comentário:

Anônimo disse...

Já pensou se você tiver 500 classes que tem as mesmas características de Empregado. Você vai copiar e colar todos os atributos em todas as classes?

Outra coisa, se você tem um método:

realizarPagamento(Empregado), você vai criar 500 métodos para cada classe de empregado?

ex:

- realizarPagamento(Analista)
- realizarPagamento(Programador)
- realizarPagamento(Gerente)
- realizarPagamento(Arquiteto)
- realizarPagamento(Estagiario)

Se você tá pensando em fazer isso, é porquê não entendeu ainda pra que serve o Polimorfismo.