Introdução à Programação Orientada à Objetos Prof. Daniel Merli Lamosa Maio de 2002.

Slides:



Advertisements
Apresentações semelhantes
Orientação a objetos identidade abstração classificação encapsulamento
Advertisements

Análise e Projeto Orientado a Objetos
ESTRUTURA DE DADOS Professor: Marcelo Mendes Turma: MBI-1
Princípios da Orientação a Objetos e a Linguagem UML
ABSTRAÇÃO processo de representar um grupo de entidades através de seus atributos comuns feita a abstração, cada entidade particular (instância) do grupo.
Paulo Marques Hernâni Pedroso
Engenharia de Software
PHPOO Erick Souza. Conceitos de Orientação a Objetos Objeto é um conceito ou item(concreto ou abstrato). Software orientado a objetos Uma classe é uma.
UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Métricas de Software Prof.ª Adriana dos Santos Caparróz Carvalho.
Identificando requisitos
Análise e Projeto de Sistemas
Análise Orientada a Objetos
Orientação a Objetos: Encapsulamento e Classificação
Modelagem Orientada a Objetos
Orientação a Objetos: Encapsulamento e Classificação
Refatorações Experiência é aquela coisa maravilhosa que permite que você reconheça um erro tão logo o cometa novamente F.P. Jones.
2002 LCG/UFRJ. All rights reserved. 1 Tópicos em C++ Claudio Esperança Paulo Roma Cavalcanti.
INF Computação Gráfica
Diagrama de Classes.
Linguagem de Programação II
KDD + IA Técnicas de IA em Descoberta de Conhecimento em Bancos de Dados set/2002.
Análise Estruturada O mais amplamente usado dos métodos de modelagem de requisitos Modelos que retratam fluxo e o conteúdo da informação (dados e controle)
Introdução à Programação Um enfoque orientado a construção de modelos em programas baseados em objetos Gustavo Motta Departamento de Informática - UFPB.
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Classes e objetos P. O. O. Prof. Grace.
TÉCNICAS DE PROGRAMAÇÃO II
Análise Orientada a Objetos
Introdução à Ciência da Computação-2 Fabio Nakano – Por favor colocar no assunto: ICC2 - – Bloco A-1, segundo andar,
Aula prática 13 Orientação a Objetos – C++ Parte 1
Linguagens de Programação
Conceitos básicos de orientação a objetos
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
Tópicos avançados em internet A
Linguagem de Programação II
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Métodos de Construção de Software: Orientação a Objetos
Oberdan Bitencourt Ferreira
Paradigmas da Programação – Semestre 1 – Aula 2 Professores: Eduardo Mantovani Fábio de Paula.
Tipos Abstratos de Dados
Classes, Objetos, Atributos e Métodos JAVA
Orientação a Objetos Parte I
Programação orientada a objectos em C++
Programação Orientada à Objetos
Definição Classe Objeto Construtor de Classes Manipulando o objeto Namespace Utilização do namespace Herança Polimorfismo Encapsulamento Propriedades.
Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 5 Eduardo Silvestri
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
SISTEMAS DISTRIBUIDOS Aula 4
2002/2003 Programação Orientada para Objectos 1 Aula 6 Classes que reservam recursos externos Problemas comuns Construtores e destrutores Construção por.
Estruturas de Dados Aula 8: Tipos Abstratos de Dados 30/04/2014.
PROGRAMAÇÃO ORIENTADA A OBJETOS
1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 7. Análise e projeto orientados a objetos 7.1 Técnica de modelagem.
Prof.: Bruno Rafael de Oliveira Rodrigues. Construtor é bloco declarado que é chamado no momento em que o Objeto é criado (instanciado). Todas as classes.
Paradigmas da Programação – Semestre 2 – Aula 1 Professores: Fábio de Paula Santos Eduardo Mantovani
Construtores e Destrutores
Aula Prática 13 Orientação a Objeto Monitoria
OO com Java Luiz Carlos d´Oleron Roteiro de aula.
Introdução a Orientação a Objetos
Engenharia de Software Orientada a Objetos
Diagrama de Objetos.
20/04/2017 Orientação a Objetos 1 1.
Módulo II Capítulo 1: Orientação a Objetos
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Continuação Modelagem Orientada a Objetos Técnico Subsequente.
Características Cor Combustível Num_Portas Potencia Comportamentos Acelerar Feiar Acender farol Dar seta Buzinar Características Cor Combustível Num_Portas.
Professora: Kelly de Paula Cunha
Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista POO para Redes de Computadores.
Desenvolvendo sotfware com UML1 Visão Geral de Orientação a Objetos.
Análise e Design de Software Site:
Análise Orientada a Objetos Por Patrícia Braga Centro Universitário Jorge Amado.
Análise Orientada a Objetos Prof. Wolley W. Silva
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

Introdução à Programação Orientada à Objetos Prof. Daniel Merli Lamosa Maio de 2002

08/05/20022 Conceitos - O que são Objetos? - Objeto: * -1. Tudo que se oferece aos nossos sentidos ou à nossa alma. 2. Coisa material: Havia na estante vários objetos. 3. Tudo que constitui a matéria de ciências ou artes. 4. Assunto, matéria. 5. Fim a que se mira ou que se tem em vista-. * DICMAXI - Dicionário Multimídia Michaelis - Objeto é a abstração de coisas do mudo real!

08/05/20023 Conceitos (cont.) - Exemplos:

08/05/20024 Conceitos (cont.) - Exemplos: Automóvel

08/05/20025 Conceitos (cont.) - Objetos possuem 4 características: - Identidade: 2 objetos são distintos mesmo que todos os valores de seus atributos sejam iguais. - Classificação: Objetos com a mesma estrutura de dados (atributos) e mesmo comportamento (operações) são agrupados em uma classe. - Polimorfismo: A mesma operação pode atuar de modos diversos em classes diferentes. - Herança: Compartilhamento de atributos e operações entre classes com base em um relacionamento hierárquico.

08/05/20026 Conceitos (cont.) - * A abordagem baseada em objetos preocupa-se primeiro em identificar os objetos contidos no domínio da aplicação e depois em estabelecer os procedimentos relativos a eles. Embora isso possa parecer mais indireto, o software baseado em objetos mantém-se melhor à medida que os requisitos evoluem, por se apoiar na própria estrutura fundamental do domínio da aplicação, ao invés de apoiar-se nos requisitos funcionais ad hoc de um único problema. * Rumbaugh [94]

08/05/20027 Conceitos (cont.) - 6 Características da Tecnologia Baseada em objetos: - Abstração: Concentração nos aspectos essenciais, próprios, de uma entidade e em ignorar suas propriedades acidentais. - Encapsulamento: Separação dos aspectos externos de um objeto, acessíveis por outros, dos detalhes internos da implementação que ficam ocultos dos demais. - Combinação de Dados e Comportamento: Polimorfismo dos objetos. - Compartilhamento: Compartilhar a estrutura comum (classes) por diversas subclasses sem redundâncias (Herança). - Ênfase na Estrutura de Objetos: Especificar o objeto e não como ele é utilizado. - Sinergia: Seguir todas as características simultaneamente.

08/05/20028 Exemplo R (x, y) Círculo Abstração Raio: Real x : Real y : Real Mover( x, y) Aumentar( R) Círculo Classe Atributos Operações

08/05/20029 Exemplo (cont.) Raio: Real x : Real y : Real Mover( x, y) Aumentar( R) Círculo Raio: Real x : Real y : Real Mover( x, y) Aumentar( R) Geralmente, funções são o único meio de acesso as atributos da classe!! Dados privados Funções membro públicas

08/05/ Exemplo (cont.) Raio: Real x : Real y : Real Mover( x, y) Aumentar( R) Círculo Em C++ fica Definição para dados privados Definição para dados públicos

08/05/ Forma Geral de class class nome-da-classe { private: dados e funções privadas public: dados e funções públicas };

08/05/ Código Completo da classe Circulo :: Operador de escopo de resolução

08/05/ Construtor e Destrutor - Construtor: Como o encapsulamento de dados é comum, o C++ permite aos objetos serem inicializados (iniciados) por si mesmo quando criados. Por exemplo, alocação dinâmica de memória. - Destrutor: Em diversos casos é necessário realizar alguma(s) ação(ões) para o objeto poder ser destruído. Por exemplo, desalocação dinâmica de memória.

08/05/ Exemplo Construtor/Destrutor Declaração do Construtor Declaração do destrutor Ação do Construtor Construtor e Destrutor não são chamados explicitamente na função principal!

08/05/ Operações de Entrada e Saída - cout: usado para escrever em tela. Similar ao printf Ex: printf(Teste); cout << Teste; printf(n = %d, n); cout << n = << n; -cin: usado para ler uma entrada do teclado. Similar ao scanf Ex: scanf(%d, &a)cin >> a;

08/05/ Exemplo: Pilha Retirar Elemento Colocar Elemento Colocar Elemento Colocar Elemento Colocar Elemento Colocar Elemento

08/05/ Sobrecarga de funções - Polimorfismo entre ou na classe. - Um mesmo nome de operação (função) pode realizar diferentes ações! Sobrecarga do Construtor O mesmo nome de função, mas executam ações diferentes! Compilador é responsável pela decisão de qual construtor chamar!

08/05/ Alocação Dinâmica de Memória - new: Aloca memória suficiente para guardar o valor desejado. - delete: Desaloca memória reservada por new. Formato: variavel_ponteiro = new var_tipo; delete variavel_ponteiro;

08/05/ Alocação Dinâmica de Memória - Para vetores e matrizes:

08/05/ Exemplo Pilha: Completo - Situação: Criar uma pilha com capacidade n (n informado pelo usuário).

08/05/ Exemplo Fila: Completo - Situação: Criar uma fila com capacidade n (n informado pelo usuário) Tempo Colocar elemento Retirar elemento Colocar elemento

08/05/ Herança - Classe Carro e Subclasse Ferrari P_Motor: Real N_Portas : Inteiro Preco : Real Set_P_Motor(Real : Val_P_Motor ) Get_P_Motor( ) Set_N_Portas(Int : Val_ N_Portas) Get_ N_Portas ( ) Set_Preco(Real: Preco) Get_Preco( ) Carro N_Mulheres_Bonitas: Inteiro Set_N_MB(Int : Val_N_MB ) Get_N_MB( ) Ferrari : Carro