Renato Dourado Maia
Universidade Estadual de Montes Claros
Engenharia de Sistemas
Classes e Objetos
Programação Orientada a Objetos
Renato Dourado Maia – Programação Orientada a Objetos
Na Unidade II – Modelagem Orientada a Objetos, vimos:
Como utilizar a metodologia OO para organizar a com-plexidade de sistemas de software.
Quais os principais mecanismos que poderão ser utiliza-dos para isso.
Uma introdução à análise e ao projeto orientado a obje-tos.
Lembrando
Não tratamos essa parte em sala... Ela será estudada por vocês durante a execução do
primeiro trabalho!
17/08/2015 2/27
Renato Dourado Maia – Programação Orientada a Objetos
Na Unidade III – Classes e Objetos, veremos:
Como as ideias apresentadas na Unidade II se transfor-mam em código, utilizando-se a linguagem C++.
Especificamente, estudadaremos como criar classes e objetos em C++.
Unidade III
Será considerado que todos compreenderam as ideias apresen-tadas na Unidade II: elas foram revisitadas na primeira lista de
exercícios!
17/08/2015 3/27
Renato Dourado Maia – Programação Orientada a Objetos
Unidade III – Classes e Objetos:
Implementando classes e objetos em C++. Atributos e métodos: controle de acesso e encapsula-
mento. Inicialização e destruição. Sobrecarga de funções e argumentos default. Constantes, funções inline e controle de visibilidade. Ponteiros, referências, atributos dinâmicos, gerencia-
mento de memória e o construtor de cópia. Sobrecarga de operadores e conversão de tipos.
Unidade III
17/08/2015 4/27
Renato Dourado Maia – Programação Orientada a Objetos
Serão considerados conhecidos vários itens que são apresentados no capítulo 2 do livro:
O que significa o processo de compilação. Como criar projetos para efetuar compilação de vários
módulos em separado. O que significa o processo de “linkagem” e como utilizar
bibliotecas de funções em C. Qual é a diferença entre declaração e definição e porque
declarações são utilizadas (Declare.cpp). Como os header files são utilizados em C. Qual é a sintaxe utilizada para declarar funções em C.
Importante
17/08/2015 5/27
Renato Dourado Maia – Programação Orientada a Objetos
Importante
Mas eu não sei nada disso!!!
ENTÃO LEIA E ESTUDE, POIS VOCÊ DEVERIA SABER!!!
17/08/2015 6/27
Renato Dourado Maia – Programação Orientada a Objetos
Um Primeiro Programa em C++
17/08/2015 7/27
Renato Dourado Maia – Programação Orientada a Objetos
Analisar os programas listados a seguir, presen-tes no livro, que apresentam alguns aspectos es-pecíficos da entrada e saída em C++:
Stream2.cpp: formatação da saída. Concat.cpp: concatenação de arranjos de caracteres. Numconv.cpp: leitura de entrada e formatação da saída. CallHello.cpp: utilização da função system() para execu-
tar um programa de dentro de outro.
Aquecimento
17/08/2015 8/27
Renato Dourado Maia – Programação Orientada a Objetos
Isso foi feito nos programas anteriores: cin e cout são objetos pertencentes às classes istream e ostream do C++!
Utilizando Objetos de Classes Existentes na Biblioteca Padrão
17/08/2015 9/27
Renato Dourado Maia – Programação Orientada a Objetos
Utilizando Objetos de Classes Existentes na Biblioteca Padrão
17/08/2015 10/27
Renato Dourado Maia – Programação Orientada a Objetos
Utilizando Objetos de Classes Existentes na Biblioteca Padrão
17/08/2015 11/27
Renato Dourado Maia – Programação Orientada a Objetos
Utilizando Objetos de Classes Existentes na Biblioteca Padrão
17/08/2015 12/27
Renato Dourado Maia – Programação Orientada a Objetos
Criando vetores com a biblioteca vector<T> da biblioteca padrão:
Classe template, que permite a criação de vetores de ti-pos diferentes. Especifica-se o tipo no momento da de-claração do vetor!
Podem ser adicionados novos elementos ao vetor por meio do método push_back()!
Utilizando Objetos de Classes Existentes na Biblioteca Padrão
Estudaremos melhor as classes template depois!
17/08/2015 13/27
Renato Dourado Maia – Programação Orientada a Objetos
Utilizando Objetos de Classes Existentes na Biblioteca Padrão
Vejam o programa Getwords.cpp!
17/08/2015 14/27
Renato Dourado Maia – Programação Orientada a Objetos
Utilizando Objetos de Classes Existentes na Biblioteca Padrão
17/08/2015 15/27
Renato Dourado Maia – Programação Orientada a Objetos
Será considerado que todos são familiares com a sintaxe da linguagem C! O Capítulo 3 faz uma revisão de pontos fundamentais:
Como criar funções e protótipos de função. Como utilizar funções da biblioteca padrão. Como criar sua própria biblioteca de funções. Estruturas de controle de execução: if-else, while, do-
while, for, break, continue, switch, etc. Funções recursivas. Tipos de dados pré-definidos na linguagem. Ponteiros.
O C Dentro do C++
17/08/2015 16/27
Renato Dourado Maia – Programação Orientada a Objetos
O C Dentro do C++
Mas eu não sei nada disso!!!
ESTUDE! DICA: http://www.ead.cpdee.ufmg.br/cursos/C/
17/08/2015 17/27
Renato Dourado Maia – Programação Orientada a Objetos
Ponteiros: declaração, atribuição, operador ende-reço e operador de indireção ou de-referenciação (“conteúdo”)...
O C Dentro do C++
17/08/2015 18/27
Renato Dourado Maia – Programação Orientada a Objetos
Ponteiros e arrays: aritmética de ponteiros...
O C Dentro do C++
17/08/2015 19/27
Renato Dourado Maia – Programação Orientada a Objetos
Ponteiros e arrays: alocação dinâmica de memó-ria...
O C Dentro do C++
17/08/2015 20/27
Renato Dourado Maia – Programação Orientada a Objetos
A passagem de parâmetros padrão em C é feita por cópia:
Passagem de Parâmetros por Referência Utilizando Ponteiros
<iostream.h> ???
17/08/2015 21/27
Renato Dourado Maia – Programação Orientada a Objetos
Em C++ podem ser declaradas referências:
E parâmetros podem ser passados por referência:
Passagem de Parâmetros por Referência Utilizando Referências
17/08/2015 22/27
Renato Dourado Maia – Programação Orientada a Objetos
Regras de escopo. Criação de tipos: typedef, structs, ponteiros e
structs, enums. Arrays e Matrizes. Dicas para debug de programas. Utilização de asserts. Ponteiros para função. Utilização de Makefiles para estruturar projetos.
Outros Pontos Importantes
17/08/2015 23/27
Renato Dourado Maia – Programação Orientada a Objetos
O capítulo 4 do livro mostra como as bibliotecas na linguagem C são estruturadas (de forma pro-cedural):
Existem várias funções independentes que são agrupa-das por sua “afinidade” em um arquivo.
Muitas vezes se cria uma estrutura de dados (struct) que agrupa os dados sobre os quais ssas funções atuam.
Essa é uma abordagem clássica, utilizada por vá-rias bibliotecas de sucesso e que utilizam a lin-guagem C.
Efetuando Abstração de Dados com as Linguagens C e C++
17/08/2015 24/27
Renato Dourado Maia – Programação Orientada a Objetos
Lembrando...
Programação Estruturada
Dados Atributos (Dados)
Funções Métodos
(Funções)
Objeto
Programação Orientada a Objetos
17/08/2015 25/27
Renato Dourado Maia – Programação Orientada a Objetos
Mensagem Final
Na próxima aula, iniciaremos de fato o estudo sobre implementação de
classes e objetos. Estudem o que foi tratado na aula de hoje (muita coisa),
pois o ritmo será acelerado!
Lembem-se: alguns detalhes não são tratados em aula! Vamos dar uma olhada no livro, para que vocês vejam o que
há para ser lido...
17/08/2015 26/27
Renato Dourado Maia – Programação Orientada a Objetos
Esta apresentação é uma adaptação do material originalmente desenvolvido pelo professor Renato Cardoso Mesquita, do Departamento de Engenha-ria Elétrica da Universidade Federal de Minas Ge-rais.
Importante
http://www.cpdee.ufmg.br/~renato/
17/08/2015 27/27
Top Related