Newest Viewed Downloaded

Orientação a objetos.Caio Argolo Luiz Daud Jorge Roberto

Orientação a objetos.

Caio Argolo Luiz Daud Jorge Roberto

1 - Tipos abstratos de dados

O que é abstração? Empresa x Academia Vamos abstrair? Quais atributos importantes em cada contexto?

Abstração de processos e de dados

Quais são os processos? Quando vieram os dados?

O escalonamento

Como facilitar a vida de um programador?  A modularização (processos, containers, módulos E quando a coisa é muito grande? As unidades de compilação! O grande trunfo do escalonamento!!!

Tipos abstratos de dados

É um encapsulamento que inclui somente a representação dos dados de um tipo específico de dado e os subprogramas relacionados a ele.  Cuma?  Classes e objetos!  E assim surgiu a orientação a objetos!

O caso do float!

E ele é um dado abstrato?  E quem aceita ele?  O que fazemos com ele?  A revelação!

Trabalhando com os dados abstratos

As unidades sintáticas.  Iteradores – Permissão de acesso a todos os dados do objeto de forma segura (Get e Set); Construtores – Permissão de criação de uma instância do objeto respeitando normas internas do tipo de dado abstrato. Destrutores – Indicadores de descarte de instâncias.

Simula 67

Abstração de dados! Encapsulamento! Garbage collection! Ocultação da informação.

Ada

Abstração de dados! Encapsulamento! Garbage collection! Ocultação da informação. Tipos de dados (private, limited private) Acesso e modificação!

2 - Programação Orientada a Objetos (POO)

Simula Smalltalk O que define se o paradigma é orientação a objetos? Tipos de dados abstratos Herança Vinculação dinâmica

A Herança

Aumentando a produtividade  Estabelecimento de um padrão A coexistência de tipos de dados semelhantes Vamos criar então as subclassses! Classe pai = Superclasse Classe filho = Subclasse E esses tais métodos? E essas tais mensagens?   Que história é essa de sobrecarga?

Um exemplo de arquitetura

Classe FrenchGothic que tem um método com o estilo de fachada.  Suas subclasses terão particularidades nesse método de estilo, cada uma com seus toques especiais. Então as subclasses Reims, Amien e Chartres terão métodos diferentes da classe pai.

Cuidado com a herança...

Jamais limite a liberdade oferecida pela utilização de dados abstratos. Fique atento a hierarquização para não causar dependência! Herança simples - Há somente uma classe pai Herança múltipla - Há várias classes pai C++ & Python O curioso caso do Java! Mas desde quando interfaces são classes?

Interfaces

São pseudo-classes, definem um tipo, métodos e propriedades. As classes que implementarem essa interface deverão adquirir também seus métodos. Não podemos restringir acesso aos membros da interface, isso só é possível nas classes nas quais elas forem implementadas.

Classes abstratas

São classes que podem possuir métodos ou propriedades não implementados quanto alguns já implementados. É o meio termo entre interfaces e classes. Não podem ser instanciadas, apenas utilizadas como superclasses. Durante gerações de herança os métodos podem ou não ser implementados, mas a classe só deixará de ser abstrata quando estiver com todos os métodos implementados.

Polimorfismo

Classes diferentes Métodos de mesmo nome Reutilizando os métodos! E as classes abstratas? A economia de tempo! Pode-se comparar a orientação a objetos a uma sinulação onde a computação é separada entre diferentes computadores. Cada objeto seria um computador que representa um elemento do mundo real, com suas características, métodos e afins.

Um rápido exemplo

public class OperacaoMatematica { calculaCoisa(float a, float b) { } }   public class Multiplica extends OperacaoMatematica{ calculaCoisa(float a, float b){ return a*b; } }   public class Soma extends OperacaoMatematica{ calculaCoisa(float a, float b){ return a+b; } }

Vinculação estática e dinâmica

Quando nos referimos a vinculação dos métodos aos objetos através das mensagens, a vinculação será dinâmica. Caso o programador opte por vincular estaticamente, estará ganhando tempo de execução em troca de tempo de produção.

3 - Exemplos de Orientação a objetos

3.1 – Suporte em C++

3 - Exemplos de Orientação a objetos

Showing 1 - 20 of 41 items Details

Name: 
6_CLP_OO_Parte1
Author: 
Luiz Daud
Company: 
N/A
Description: 
Orientação a objetos.Caio Argolo Luiz Daud Jorge Roberto
Tags: 
objetos | classe | orientação | classes | suporte | tipos | exemplos | vinculação
Created: 
1/5/2012 11:18:48 AM
Slides: 
41
Views: 
4
Downloads: 
0
Rating: 
0


> Comment



Share this presentation
|

Comments

Share this presentation:

|
Sitemap