A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Aula Prática 13 Orientação a Objeto Monitoria 2010.2.

Apresentações semelhantes


Apresentação em tema: "Aula Prática 13 Orientação a Objeto Monitoria 2010.2."— Transcrição da apresentação:

1 Aula Prática 13 Orientação a Objeto Monitoria 2010.2

2 Orientação a Objeto  O que é?  Paradigma de programação que se baseia na premissa de que todos os componentes de um programa podem ser tratados como “objetos”  Cada objeto possui determinadas características e comportamentos específicos (atributos e métodos)

3 Por que usar OO? Orientação à Objeto é mais:  Flexível  Extensível  Reusável  Organizada  Intuitiva

4 Objetos Tudo são objetos! Um programa é um conjunto de objetos interagindo e modificando seus estados através de métodos. Ex.: Objeto: DVD Método 1: Play Método 2: Pause Método 3: Voltar Método 4: Avançar

5 Objetos Métodos são como funções que atuam sobre os atributos de um objeto, modificando-os. Atributos são informações sobre um determinado objeto que mudam de acordo com uma ação executada (método). Avançar(10 s) 1:10:321:10:42 Tempo sendo modificado

6 C++ Objetivo: ○ Combinar o desempenho de C com as facilidades de linguagens de alto nível. ○ Oferecer uma melhor organização no desenvolvimento de projetos complexos. ○ Combinar paradigmas de programação para aumentar a liberdade do desenvolvedor. Ou seja: ○ Em grosso modo, C++ possui o desempenho de C (imperativa) combinado com as facilidades de JAVA (orientada a objeto)

7 Classes Uma classe representa um tipo de objeto Agrupa objetos com características em comum Assim como C possui structs, C++ possui classes

8 Classes As classes possuem: Atributos Métodos Que podem ser: Privados (Só são acessados por métodos da classe) Públicos (Podem ser manipulados diretamente)

9 Classes Em C++ os métodos são definidos na classe, porém são efetivamente implementados fora dela: No caso do método “Conta” (que é um construtor), não seria necessário definí-lo ou implementá-lo. C++ por padrão cria um construtor sem parâmetros. MAS O QUE É UM CONSTRUTOR?? O apontador this utilizado nesse construtor simplesmente guarda uma referência para o objeto que está sendo criado. Seu uso só é necessário quando existe uma variável local com o mesmo nome de um atributo da classe.

10 Construtor É um método especial que toda classe possui. Pode ser utilizado para criar um objeto de duas formas: Dinamicamente: É utilizado junto com o comando new na hora de criar um novo objeto pertencente à classe. Ex.:

11 Construtor Estaticamente: Note que, assim como uma estrutura utiliza o operador -> para estruturas criadas dinamicamente e o operador. para as estáticas, o mesmo acontece com os objetos.

12 Encapsulamento É uma técnica de programação que fornece uma maior robustez ao código que está sendo criado. Basicamente “protege” os atributos de modificações indesejadas. Funciona da seguinte forma: Atributos encapsulados são do tipo private São criados métodos para que eles possam ser acessados e modificados com segurança. Ex.: Não é possível remover uma quantia maior que o saldo. Como há encapsulamento, caso o saldo não seja suficiente para o saque, ele parmanece inalterado.

13 Streams Em C++, a entrada e saída de dados é efetuada através da biblioteca iostream Um “stream” representa um dispositivo de entrada ou saída, tal como o teclado e o console

14 Entrada Padrão Entrada padrão: cin A leitura é feita utilizando o operator shift right Exemplo: int a; cin >> a; Pode-se ler vários items de uma só vez Exemplo: int, a,b,c; cin >> a >> b >> c;

15 Entrada Padrão Saída padrão: cout A leitura é feita utilizando o operator shift left Exemplo: int a; cout << a; O comando endl pode ser usado para imprimir um \n Analogamente ao cin, pode-se imprimir vários items de uma só vez int, a,b,c; cout << “Numeros: “ << endl << a << “ “ << b << “ “ << c;

16 Dúvidas??

17 Exercício Crie uma classe para representar um inteiro, esta classe deve ser capaz de realizar as seguintes operações: 1) Atribuição de Adição (+=) 2) Atribuição de Subtração (-=) 3) Pre-Incremento (++?) O seguinte trecho de código deve funcionar corretamente: Inteiro a(10); Inteiro b; b.somar(a); b.somar(a.incrementar()); cout << "A: " << a.getValor() << endl; // Saída 11 cout << "B: " << b.getValor() << endl; // Saída 21

18 Exercício Crie uma classe em C++ que simule um serviço de agenda. Para isso você deve criar uma classe “Agenda” e uma classe “Compromisso”. A classe “Agenda” deve possuir os seguintes dados: -Nome do dono -Número telefônico -E-mail -Compromissos Você deve utilizar encapsulamento para criar métodos usados na modificação dos atributos. Além disso, a classe “Compromisso” deve possuir os atributos a seguir: -Data do compromisso -Informações sobre o compromisso Ao final, receba do usuário duas agendas com cada uma dois compromissos.


Carregar ppt "Aula Prática 13 Orientação a Objeto Monitoria 2010.2."

Apresentações semelhantes


Anúncios Google