Porquê desenvolver em Java???
Isso pode levar a uma séria discussão não é?
Na minha humilde opnião Java já não é mais uma novidade há muito tempo e sim uma imensidão de conhecimento, pois a cada ano que passa surgem bons e novos recursos para Java sendo assim não a vejo como uma linguagem passageira, que surge como sendo fantastica e logo depois desaparece ao contrário ela é uma linguagem com uma recursividade muito grande.
Vejo hoje o mercado de Java muito aquecido sendo ele em sua maioria com sistemas Web e também é nas tecnologias web que encontramos tiversos resursos para aproveitar.
E para aproveitar um pouquinho os recursos dessa Linguagem vou abortar um pouco sobre um dos fundamentos de Java, a Orientação a Objetos, uma das principais vantagens da POO é a reutilização de código, onde você não necessita reescrever um código já feito, no máximo você fará modificações através de Polimorfismo(explicarei mais adiante).
1- Polimorfismo: é um recurso utilizado para métodos com o mesmo nome onde esses métodos podem realizar algoritmos diferentes devido à sua assinatura. Por exemplo:
public void pesquisarLivro(String titulo) { ... }
public void pesquisarLivro(String titulo, String editora){ ... }
Os dois métodos acima tem o mesmo nome porém possuem assinaturas diferentes, quando fazemos a chamada desses métodos ela utilizando o mesmo nome para os dois métodos e dependento dos parâmetros passados o Java identifica qual o método que será chamado.
2- Encapsulamento: é um recurso que temos para poder poder restringir que outras classes tenham visibilidade da implementação de seus métodos, sendo assim somente a própria classe tem visibilidade sobre sua implementação, ou seja, só mostramos para outras classes o que fazemos e escondemos a implementação de como fazer.
Um bom exemplo é quando encapsulamos atributos de uma classe ou seja atribuimos sua visibilidade para private onde somente a própria classe poderá ver a implementação desses atributos, e se alguma classe quiser alterar esses valor ela poderá fazer porém através de métodos que manipulam esses atributos sem mostrar como fazem isso, Ex.:
private String titulo;
public String getTitulo(){
return this.titulo;
}
public void setTitulo(String titulo){
this.titulo = titulo;
}
3- Herança: Uma das mais interessantes é um recurso utilizado para que uma classe consiga herdar as funcionalidades de outra classe, sendo assim evitamos a reescrita de código como no exemplo a seguir.
Temos 2 classes Cliente e Pessoa, todo Cliente tem as mesmas características de Pessoa porém um Cliente possui características (funcionalidades) a mais do que uma Pessoa, então utilizando o conceito de herança você não precisa reescrever toda a classe Pessoa naa classe Cliente.
Existe uma palavra reservada em Java que é utilizada para indicar Herança que é extends, vamos ver como utilizar a herança em uma classe.
public class Cliente extends Pessoa{
//novo método da classe Cliente
public void realizarPagamento(String cdCliente, Double valor){ ... }
//métodos herdados não precisam ser reescritos apenas utilizados
}
É isso ai galera vamos estudar um pouquinho mais sobre POO nos próximos posts, se surgirem dúvidas, críticas ou sugestões deixem seus comentários nos post.
Até a próxima.
Assinar:
Postar comentários (Atom)
Parabéns pelo blog! Achei ele pelo GUJ e prometo que darei uma espiada com frequência!
ResponderExcluirMe chamo Fernando também e sou formado em Sistemas de Informação, sou novato em Java e conto com a sua ajuda nessa caminhada.
Me add no MSN qdo puder: fernandobarroslima2@hotmail.com
Abraços!
Fernando,
ResponderExcluirO Polimorfismo na verdade é o que o próprio nome diz, "Muitas formas". Mas é com relação ao mesmo nome de método e muito ligado à herança, isto é, "o polimorfismo permite que referências de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam"[1]
Exemplo[2]
interface Animal
{
String getName();
String talk();
}
abstract class AnimalBase implements Animal
{
private final String name;
protected AnimalBase(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
class Cat extends AnimalBase
{
public Cat(String name) {
super(name);
}
public String talk() {
return "Meowww!";
}
}
class Dog extends AnimalBase
{
public Dog(String name) {
super(name);
}
public String talk() {
return "Arf! Arf!";
}
}
public class TestAnimals
{
// prints the following:
// Missy: Meowww!
// Mr. Bojangles: Meowww!
// Lassie: Arf! Arf!
public static void main(String[] args) {
Animal[] animals = {
new Cat("Missy"),
new Cat("Mr. Bojangles"),
new Dog("Lassie")
};
for (Animal a : animals) {
System.out.println(a.getName() + ": " +
a.talk());
}
}
}
Verifique que vc não precisou informar no loop (for) que tipo de Animal estava na coleção, mas, por polimorfismo, ele executou os métodos de cada classe concreta.
Referências:
[1] http://pt.wikipedia.org/wiki/Polimorfismo
[2] http://en.wikipedia.org/wiki/Polymorphism_in_object-oriented_programming#Java
Parabéns pela iniciativa e bons códigos !!!
Ae Fernandão, parabéns pelo blog! Ta bem massa, vou aparecer mais por aqui rss.
ResponderExcluir