terça-feira, 6 de agosto de 2013

10 Coisas que você precisa aprender sobre linguagem orientada a objetos

10 Coisas que você precisa aprender sobre linguagem orientada a objetos.



1 – O que é uma classe?

Uma classe é basicamente um conjunto de objetos e suas caracteristicas. Suponhamos que temos uma classe chamada concessionária. Os objetos dessa classe são carros.

2 – O que é um objeto?

Pensar na programação como objeto serve para que possamos associar coisas da vida real com a programação, tornando mais fácil e simples de entender como um sistema foi construído ou como deve ser. Com o conceito de objeto como abstração, podemos utilizar coisas associadas ao nosso dia-a-dia para lidar com situações complexas de programação.
Um objeto é composto por métodos e propriedades. Por exemplo, temos o objeto carro, cujos métodos são: correrfreiar estacionar.

3 – O que é um método?

Um método é uma espécie de função associada ao objeto, um método pode definir comportamentos de um objeto. Por exemplo, um método do objeto carro pode ser correr. Os métodos devem ser invocados apenas por intermédio do objeto, ou seja, primeiro você deve invocar o objeto carro para depois acessar o método correr.

4 – O que é propriedade/atributo?

Uma propriedade ou atributo torna possível definir características de um objeto. Por exemplo, podemos usar a propriedade motor para definir uma característica (ou componente) do objetocarro. Outros exemplos seriam: rodaspneusbancos, etc.
Uma propriedade também pode ser alterar através de um método. Por exemplo: o métodoinserirMotor pode servir para inserir um valor (V6) dentro de uma propriedade (motor).

5 – O que é instância?

Uma instância é um processo de criação de um objeto. Por exemplo, podemos criar a instânciaPálio para o objeto carro.

6 – O que é Mensagem?

Uma mensagem é uma invocação para que um objeto execute um de seus métodos (comportamentos). Por exemplo, podemos invocar o método correr do objeto carro passando o valor 100km. Ou seja, estou enviando uma mensagem solicitando ao objeto carro através de seu método correr que corra 100km (valor).

7 – O que é Polimorfismo?

De maneira simples, polimorfismo quer dizer que é possível enviar uma mesma mensagem (100km) para uma classe (concessionária) através de um método (correr) e que cada objeto (carro,caminhãovan) responda de maneira diferente em função da mesma mensagem recebida.
Ex. O objeto carro pode responder 1hr a mensagem 100km. O objeto caminhão pode responder 1 hr e 30 minutos a mensagem 100km… etc.

8 – O que é Herança?

Vamos imaginar que a classe concessionária tem subclasses, como por exemplo: FiatHonda ePegeout. As subclasses FiatHonda Pegeout evidentemente herdam as características (propridades, atributos) da classe concessionária. Porém, tem suas próprias características.
Sendo assim as classes filhas herdam as características das classes pais e tem características que só eles tem: FiatHonda Pegeout herdam características de concessionárias.
Enquanto as classes pais não herdam as características das classes filhasconcessionárias não herdam características da Honda por exemplo.

9 – O que é classe abstrata?

Uma classe abstrata representa uma coleção de características que estão presentes em vários tipos de objetos, mas que não existe isoladamente.
Por exemplo, podemos criar uma classe abstrata bensMateriais. Nessa classe podemos chamar objetos de outras classes, como: carro (da classe concessionária), casa (da classe imóveis)… etc.
Sendo assim, bensMateriais é uma entidade abstrata, você pode dizer que um carro é umbemMaterial, porém, nunca verá um objeto que é apenas um bemMaterial diretamente nessa classe. Ou seja, antes do carro ser um objeto da classe abstrata bensMateriais ele é um objeto da classe concessionária. Sendo assim, uma casa (objeto) não pode ser um bemMaterial(classe abstrata) antes de ser um imóvel (classe).

10 – Quais as vantagens de uma Linguagem Orientada a Objetos?

No geral, podemos dizer que uma linguagem orientada a objetos possui uma divisão de códigos mais simples, fácil de entender e interpretar, fácil de modificar, fácil de reaproveitar, etc. Também é mais fácil dividir tarefas entre uma equipe quando se usa uma linguagem orientada a objetos. Cada membro da equipe pode ficar responsável pelo funcionamento de uma classe ou de um objeto dependendo do tamanho da equipe e do projeto.
A produtividade e o ciclo de vida de uma aplicação utilizando linguagem orientada a objetos muitas vezes é superior a uma linguagem não orientada a objetos. Na produtividade, devemos levar em conta fatos como o reaproveitamento de código, se precisamos criar uma instância do objeto carroa todo momento, podemos apenas chamar e instânciar esse objeto ao invés de criá-lo inteiro novamente vez após vez. No ciclo de vida maior, podemos mencionar que a manutenção torna-se mais fácil, bem como a correção de problemas e a expansividade do código torna possível adicionar novas funções ao projeto reaproveitando diversas classes, objetos, etc.




Fonte: Mundo Asp