Programação orientada a objetos e o Java (parte 1)
Neste artigo iremos tratar de orientação a objetos, suas principais características, assim como iniciar sua relação com a linguagem Java, abrindo então caminho para o entendimento de uma linguagem orientada a objetos. Esta é a primeira parte do artigo que vai abordar OO e Java.
Parte 2: A programação orientada à objetos
A nossa teia de relações com o mundo se dá em boa parte por meio do
conceito de objetos, temos a tendência natural de identificar o que
são estas diferentes entidades, observando como aparentam ser e qual
seu comportamento para o nosso ponto de vista, podemos definir quais são.
Exemplo: um simples usuário de uma TV ou um técnico que vai concertá-la.
Ao observar um rádio, nós reconhecemos sua forma retangular, seu tamanho usual, colorido típico e aplicação. O rádio que observamos não é o único existente, existem diversos como tipos de rádios como o radio portátil, de mesa, etc. Um tipo especifico de rádio carrega consigo uma utilização reservada, mesmo que apresente algumas características idênticas a outros rádios, tem outras utilizações. O termo rádio portátil caracteriza mais do que a identidade do objeto, é um tipo de objeto que apresenta características próprias. Devemos lembrar que existem diversos tipos de rádios que transmitem diferentes tipos de informações por outros canais (privado ou público) e com diversas utilizações (militar ou doméstico).
Agora analisando por outro ponto mais particular. Como utilizamos o rádio? Podemos ligar por meio de um botão on/off na parte inferior esquerda, temos o controle de volume na superior direita e o seletor de estações na parte direita superior, conforme o modelo outras opções. Mesmo sem conhecer sua estrutura interna, as pessoas podem utilizar este objeto ligando e desligando, aumentando ou diminuindo o volume ou sintonizando na sua estação predileta. Os detalhes da sua estrutura ficam ocultos, podemos então utilizar apenas o que o projetista julgou necessário.
Por meio deste exemplo de relação com objetos que utilizamos no nosso dia-a-dia, podemos descrever informalmente as principais características da programação orientada por objetos.
É a categorização daquilo que nos rodeia. Criamos classes de objetos para identificar objetos que compartilham de características em comuns, embora distintas, em cada objeto. Como os seres humanos que tem características em comum, mas podem ser distinguidos pela altura, idade, peso, etc.
Nossa relação com os objetos ao nosso redor não se resume a simples classificação. Por exemplo, nossa teia de relações com outras pessoas fazem elas assumirem uma posição singular, assumindo assim uma identificação. Conhecendo mais alguém descobrimos seu nome e sobrenome, por exemplo.
Essa característica permite que possamos utilizar um objeto conhecendo apenas sua interface, sua aparência exterior. Como no exemplo de utilização do rádio que descrevemos acima. O encapsulamento permite preservar informações consideradas importantes ou sigilosas dentro do objeto, disponibilizando apenas o que se julgue conveniente.
É o mecanismo de criação de novas classes de objetos a partir de outras já existentes. A herança utiliza características do objeto de origem, usando uma forma especial de compartilhamento de código. Agora podemos criar varias classes, hierarquicamente relacionadas, especializando as classes.
Refere-se a capacidade de conhecermos em um objeto um outro mais geral. Por exemplo, tratamos um radio como um objeto de forma geral podemos classificar o radio como um eletrodoméstico.
A utilização da orientação à objetos no desenvolvimento de um programa se baseia na construção de classes e na criação de objetos dessas classes, para que trabalhem em conjunto no bom funcionamento do programa.
O Java é uma linguagem que carrega consigo todas as características necessárias de orientação a objetos:
Ao observar um rádio, nós reconhecemos sua forma retangular, seu tamanho usual, colorido típico e aplicação. O rádio que observamos não é o único existente, existem diversos como tipos de rádios como o radio portátil, de mesa, etc. Um tipo especifico de rádio carrega consigo uma utilização reservada, mesmo que apresente algumas características idênticas a outros rádios, tem outras utilizações. O termo rádio portátil caracteriza mais do que a identidade do objeto, é um tipo de objeto que apresenta características próprias. Devemos lembrar que existem diversos tipos de rádios que transmitem diferentes tipos de informações por outros canais (privado ou público) e com diversas utilizações (militar ou doméstico).
Agora analisando por outro ponto mais particular. Como utilizamos o rádio? Podemos ligar por meio de um botão on/off na parte inferior esquerda, temos o controle de volume na superior direita e o seletor de estações na parte direita superior, conforme o modelo outras opções. Mesmo sem conhecer sua estrutura interna, as pessoas podem utilizar este objeto ligando e desligando, aumentando ou diminuindo o volume ou sintonizando na sua estação predileta. Os detalhes da sua estrutura ficam ocultos, podemos então utilizar apenas o que o projetista julgou necessário.
Por meio deste exemplo de relação com objetos que utilizamos no nosso dia-a-dia, podemos descrever informalmente as principais características da programação orientada por objetos.
2.1 - Classificação
É a categorização daquilo que nos rodeia. Criamos classes de objetos para identificar objetos que compartilham de características em comuns, embora distintas, em cada objeto. Como os seres humanos que tem características em comum, mas podem ser distinguidos pela altura, idade, peso, etc.
2.2 - Identidade
Nossa relação com os objetos ao nosso redor não se resume a simples classificação. Por exemplo, nossa teia de relações com outras pessoas fazem elas assumirem uma posição singular, assumindo assim uma identificação. Conhecendo mais alguém descobrimos seu nome e sobrenome, por exemplo.
2.3 - Encapsulamento
Essa característica permite que possamos utilizar um objeto conhecendo apenas sua interface, sua aparência exterior. Como no exemplo de utilização do rádio que descrevemos acima. O encapsulamento permite preservar informações consideradas importantes ou sigilosas dentro do objeto, disponibilizando apenas o que se julgue conveniente.
2.4 - Herança
É o mecanismo de criação de novas classes de objetos a partir de outras já existentes. A herança utiliza características do objeto de origem, usando uma forma especial de compartilhamento de código. Agora podemos criar varias classes, hierarquicamente relacionadas, especializando as classes.
2.5 - Polimorfismo
Refere-se a capacidade de conhecermos em um objeto um outro mais geral. Por exemplo, tratamos um radio como um objeto de forma geral podemos classificar o radio como um eletrodoméstico.
2.6 - Observações
A utilização da orientação à objetos no desenvolvimento de um programa se baseia na construção de classes e na criação de objetos dessas classes, para que trabalhem em conjunto no bom funcionamento do programa.
O Java é uma linguagem que carrega consigo todas as características necessárias de orientação a objetos:
- a definição de classes;
- a construção de objetos contendo dados internos não acessíveis;
- a disponibilidade de um mecanismo de herança.
saberia algum livro bom sobre 'orientação a objetos'?
valew