Artigos com o marcador orientação a objetos
OO parte III – Atributos
08/10/09
Atributos, que também podem ser chamados de propriedades, são responsáveis por representar as características de uma classe, permitindo assim diferenciar um objeto do outro, por exemplo, o atributo cor da classe Carro irá identificar a cor de cada Objeto do tipo carro. Assim o carro1 poderá ter a cor vermelha e o carro2 poderá ser azul.
Atributos são representados na segunda divisão da classe, geralmente possuem dois campos, um destinado ao nome do atributo e outro destinado ao tipo de dado armazenado pelo atributo, por exemplo, integer, float, character ou boolean, sendo que esse ultimo não é obrigatório.
Assim, todo objeto possui atributo e esse atributos são responsáveis por dar características ao objeto, como por exemplo na classe Cliente do exemplo abaixo, da representação de uma classe com atributos.
OO parte II – Classe
07/10/09
A classe é uma estrutura estática e será útil para descrever os objetos, seus atributos (propriedades) e métodos (funcionalidades). A classe é um modelo ou template para criação destes objetos. Podem ser classes, qualquer entidade do negócio da sua aplicação (Usuário, Cliente, Filme).
No momento que modelamos um Cliente, por exemplo, são suas propriedades (nome, idade, sexo). E temos como métodos, funcionalidades desempenhadas pela classe. No caso de Cliente, poderiam ser métodos (Comprar(), Alugar(), Vender()).
Uma classe pode ser representada por um retângulo, dividido em 3 partes. A primeira armazena o nome da classe, a segunda lista os atributos da classe e a última lista os métodos que a classe possui. Podemos encontrar classes que possuam apenas uma dessas partes ou características.
A figura acima mostra o exemplo de uma classe, note que nesse caso só possui uma divisão, já que não é obrigatório representar a classe expandida.
*Nos Próximos posts estaremos falando mais das outras divisões.
Introdução a orientação a objetos
06/10/09
O que é OO?
Orientação a objetos (OO) é um paradigma de desenvolvimento de softwares. Que em vez de construir um sistema baseado num conjunto de procedimentos e variáveis, que nem sempre são agrupados de acordo com o contexto, na orientação a objetos utiliza-se uma ótica mais próxima do mundo real, onde se lida com objetos, onde muitas vezes são estruturas já conhecidas no dia-a-dia e as quais são mais bem-compreendidas.
Vantagens
- maior facilidade para reutilização de código e por conseqüência do projeto.
- possibilidade do desenvolvedor trabalhar em um nível mais elevado de abstração.
- utilização de um único padrão conceitual durante todo o processo de criação de software.
- maior adequação à arquitetura cliente/servidor.
- maior facilidade de comunicação com os usuários e com outros profissionais de informática.
- ciclo de vida mais longo para os sistemas.
- desenvolvimento acelerado de sistemas.
- possibilidade de se construir sistemas muito mais complexos, pela incorporação de funções prontas.
- menor custo para desenvolvimento e manutenção de sistemas.
Desvantagens
- complexidade no aprendizado para desenvolvedores de linguagens estruturadas.
- maior esforço na modelagem de um sistema OO do que estruturado (porém menor esforço de – codificação, sendo uma vantagen).
- funcionalidades limitadas por interface, quando estas estão incompletas (problemas na modelagem).
- dependência de funcionalidades já implementadas em superclasses no caso da herança, implementações espalhadas em classes diferentes.
* No proximo post estaremos falando sobre classes, não percam.
Tipos de programação parte 3
06/08/08
Programação orientada a objetos (POO)
O que é:
Um dos paradigmas de análise, projeto e programação mais utilizados ultimamente. Pois é a que mais se aproxima de como expressamos as coisas na vida real.
Na POO, Implementa-se classes que definem os objetos do sistema. Essas classes definem como o objeto se comportará através de métodos e estados possíveis (atributos), assim como um possível relacionamento com outros objetos.
Principais Vantagens da POO:
- Maior facilidade para reutilização de código e por conseqüência do projeto
- Possibilidade do desenvolvedor trabalhar em um nível mais elevado de abstração
- Utilização de um único padrão conceitual durante todo o processo de criação de software
- Maior adequação à arquitetura cliente/servidor
- Maior facilidade de comunicação com os usuários e com outros profissionais de informática.
- Ciclo de vida mais longo para os sistemas
- Desenvolvimento acelerado de sistemas
- Possibilidade de se construir sistema muito mais complexo, pela incorporação de funções prontas
- Menor custo para desenvolvimento e manutenção de sistemas.
Conceitos Básicos:
- classe – é o molde do objeto, um programador define uma classe por onde todos os objetos serão moldados. Um exemplo de classe seria a classe humano.
- Objeto – é a instancia de uma classe, um objeto contém características (atributos), é capaz de interagir com outros objetos e de executar ações (métodos). Exemplo de um objeto da classe humano seria Pedro, Rafael, Carol.
- Atributo – São características de um objeto. Exemplo de atributos da classe humano seria nome, e-mail, idade, sexo, CPF.
- Método – Define ações do objeto. Exemplo de métodos da classe humano seria andar, falar, correr.
- Herança – É o mecanismo pelo qual uma classe (sub-classe) pode estender outra classe (super-classe), aproveitando suas ações (métodos) e características(atributos). Um exemplo de herança: Mamífero é super-classe de Humano. Ou seja, um Humano é um mamífero.
Algumas linguagens orientadas a objetos:
Smalltalk, Python, Ruby, C++, Object Pascal, Java e C#
Algumas linguagens com suporte a orientação a objetos:
Perl (a partir do 5), PHP (a partir do 4.0), ColdFusion, Javascript, ActionScript e VB.NET


