Programadora de Informtica Programao em C Joo Paulo
- Slides: 24
Programador/a de Informática Programação em C# João Paulo Silva Setembro 2009
2 Índice • Programação Orientada a Objectos
3 Programação Orientada a Objectos • Programação centrada na ideia em que o programa é composto por um conjunto de entidades (objectos e eventos), capazes de se inter-relacionarem Carro Motor Portas Pneus Ligar Acelerar Travar
4 Programação Orientada a Objectos • As LPOO assentam em 4 pilares que são: ▫ Abstracção; ▫ Encapsulamento; ▫ Herança; ▫ Polimorfismo;
5 Objectos • Objecto: entidades que existem (reais ou abstractas) • Classe: implementação em código de um objecto • Instância: concretização de uma classe/objecto • Objecto: Fig. Geometrica (conceito de forma) • Classe: Fig. Geometrica. cs (codificação do conceito) • Instância: concretização codificada de uma forma Fig. Geometrica quadrado = new Fig. Geometrica(“quadrado”);
6 Entidades • Namespace (“pacote”) ▫ conjunto de ficheiros (classes, interfaces) ▫ agregados por funcionalidades • Interface ▫ contrato de implementação (modelo de implementação obrigatória) • Classe ▫ ▫ ▫ ▫ ▫ namespace: “pacote” a que pertence a classe using: ficheiros/objectos utilizados de outros namespaces declaração da classe (normalmente nome igual ao ficheiro) zero, um ou mais interfaces zero ou uma super-classe atributos (variáveis internas da classe) construtores (inicializadores da classe) métodos (executam acções. Semelhante a “funções”. ) propriedades (atributos disponíveis para o exterior da classe)
7 Exercício nº 1 • Exercício nº 1
8 Estrutura de uma Classe using … namespace Nome. Namespace { acesso class Nome. Classe { acesso Tipo nome_atributo [= valor]; acesso Tipo nome_Método(Lista de parâmetros) {. . . } acesso void nome_Método(Lista de parâmetros) {. . . } } }
9 Exemplo using System; using System. Data; namespace Gestao. Formacao { public class Formando { private double nota. Exame = 15. 4; private string materia. Exame = "C#"; public void Mostra. Nota() { System. Console. Write. Line(nota. Exame); } } }
10 Tipos de acesso • PUBLIC - Os membros da classe não possuem qualquer restrição e podem ser acedidos por qualquer programa. • PRIVATE - Os membros somente podem ser acedidos a partir da própria classe. • PROTECTED - Os membros são acessíveis a partir da própria classe e das classes derivadas. • INTERNAL - Os membros são acessíveis somente dentro do programa que possui a declaração da classe. • PROTECTED INTERNAL - Os membros são acedidos somente pelo código de dentro do projecto e pelo código na classe derivada.
11 Abstracção • É a capacidade de pensar nos objectos da vida real e classificá-los. • Um Ferrari por exemplo tem as mesmas características do objecto Jaguar, logo têm algo em comum, ou seja, ambos são carros. Deste modo pertencem à entidade carro.
12 Abstracção Mamíferos Aves Répteis Animais Mamíferos Aves Répteis …
13 Exercício nº 2 • Exercício nº 2
14 Encapsulamento • Característica das LPOO que consiste em: ▫ esconder do utilizador externo: a estrutura interna de dados (evitar a exposição) mecanismos utilizados para implementação das funcionalidades ▫ Utilizador apenas tem acesso às funcionalidades
15 Encapsulamento - Exemplo Resumindo Ocultação da composição interna das classes, controlando o acesso aos seus dados e ao código das suas “funções” membro.
16 Herança • Capacidade de uma classe herdar atributos e comportamento de uma outra classe • Permite que características comuns e comportamentos comuns ou parecidos a diversas classes sejam abstraídas e centralizadas numa classe base - superclasse. ▫ Tem uma relação “É um”. Um Jaguar “é um” carro. Logo deriva da classe carro, pois contém as características comuns dum carro. Um Quadrado “é uma” figura geométrica. Um Programador “é um” funcionário. Uma Ave “é um” animal. Uma Águia “é uma” ave.
17 Herança Um Gerente “é um” funcionário. Funcionário Classe Base Especialização Generalização Gerente Classe Derivada
18 Herança Geral Específico Classe Base (características comuns) Classe Derivada (características específicas) Possui os atributos e métodos da classe Herdada
19 Exercício nº 2 • Exercício nº 2
20 Exercício nº 3 • Exercício nº 3
21 Polimorfismo • Característica que permite distintas implementações para o mesmo interface (interface ou classe abstracta) • Classe abstracta: ▫ Numa classe abstracta pelo menos um dos seus métodos é abstracto; ▫ Tem de ser declarada abstract • Método abstracto: ▫ Método sem implementação (só assinatura) ▫ Tem de ser declarado abstract
22 Exercício nº 4 • Exercício nº 4
23 Mais Informação. . . • Programação Orientada a Objectos em. NET ▫ http: //msdn. microsoft. com/ptbr/library/cc 580626. aspx
Programador/a de Informática Programação em C# João Paulo Silva Setembro 2009
- Informtica
- Informtica
- Philippe dreyfus 1962
- Ingenieramédicaprogramadoraperiodistahijastra
- Dr joo teoh reviews
- Joo silva gozando
- Jessica joo
- Joo hyeon lee
- Joo 3:16
- Dr tan huck joo
- Joo
- Hee joo lee
- Iv joo
- Si comprehendis non est deus
- Joo hee jin
- Joo o
- Zeinab chahine
- Joo e maria
- Sigepe legis
- I joo
- Joo teoh
- Lonshi joo
- Maria joo
- Joo acute nasopharyngitis
- Joo e maria