Definição Classe Objeto Construtor de Classes Manipulando o objeto Namespace Utilização do...

Post on 21-Apr-2015

213 views 1 download

Transcript of Definição Classe Objeto Construtor de Classes Manipulando o objeto Namespace Utilização do...

Introdução à Progamação Orientada

a Objeto (POO)

• Definição• Classe• Objeto• Construtor de Classes• Manipulando o objeto• Namespace• Utilização do namespace• Herança• Polimorfismo• Encapsulamento• Propriedades

Definição

”É um paradigma de programação baseado na composição e interação entre diversas unidades de software chamadas de objetos” - Wikipédia

Classe• É a representação de um conjunto de coisas que possuem similaridades. Exemplo: Conjunto de pessoas, conjunto de ações da bolsa de valores.• É o conjunto de atributos e métodos que podem compor um objeto. -> variáveis que contêm informações sobre o objeto. -> conjunto de operações que modificam os atributos.

- Atributos

- Métodos

Exemplo Vamos representar funcionários de uma empresa. Todos os exemplos a seguir são baseados na sintaxe de C#.

Construtor de Classes

• Construtor de uma classe é um método especial que retorna um ponteiro para uma variável do tipo da classe.• Normalmente utilizado para inicializar os atributos da classe.

Definição

public Funcionario(string nomeFun, int idadeFun, float salarioFun)

{// inicialização dos atributosnome = nomeFun;idade = idadeFun;salario = salarioFun;

}

Modificador de Acesso

Retorna ponteiro do tipo ”Funcionario”

Parâmetros Pedidos(opcional)

Objeto• É a instanciação de uma classe.• É um item do conjunto representado pela classe. Exemplo: O ”Zezinho” do conjunto de pessoas, a ação ”PETR50” do conjunto de ações da bolsa de valores.

Utilizando a classe Funcionario e seu construtor definidos anteriormente, podemos instanciar vários funcionários da empresa:

// Declaração da variável tipo Funcionario//em alguma parte do programaFuncionario jo;

// Inicialização da variáveljo = new Funcionario(”João”, 80, 100f);

Semelhante ao malloc do C Chamada do

Construtor

Manipulando um ObjetoConsiderando o que foi anteriormente definido, poderíamos:

// Mudar o salário do Zéjo.MudaSalario(120f);// Quando o Zé fizer aniversário...jo.idade = jo.idade + 1;

O ponto é usado para acessar atributos e métodos do Objeto,

como as structs em C

Namespace

• É um conjunto de código.• Auxilia na organização do código.• Independe de pastas ou diretórios

Exemplo

Utilização do NamespacePara poder ter acesso ao código que está em um

namespace diferente do atual, pode-se acessá-lo da seguinte maneira:

Namespace acessado

Código dentro do Namespace System

Outra maneira utiliza a keyword using e em seguida o nome do namespace, antes da declaração do namespace atual:

Herança Tomemos dois conjuntos: o das ovelhas e o dos cavalos.• Ambos podem ser representados por classes: Cavalo e Ovelha.• Ambos os conjuntos possuem similaridades: quatro patas, pêlo, massa; ambos respiram, dormem, comem, etc... Isso se deve a ambos os conjuntos pertencerem ao conjunto dos mamíferos.

Poderíamos então criar uma classe chamada Mamífero.

numPatas, massa, etc...andar, comer, dormir, respirar...

Assim, Mamífero seria classe base de Ovelha e Cavalo. Tal como, eles são classes herdeiras (filhas, derivadas) de Mamífero, herdando seus atributos e métodos.

Atributos:Métodos:

Exemplo

Refere-se a variável da

Classe

Exemplo

Quando o construtor de Cavalo é chamado, ele, por suavez, chama

o Construtor da classe base (Mamífero)

Indica que Cavalo herda de Mamífero

Exemplo

Polimorfismo

• É a capacidade de gerenciar variados tipos de dados da mesma forma.

• Isto é feito a partir de um ponto em comum: classe base.

Exemplo

Encapsulamento Preceito - ”Separar o programa em partes, o mais isoladas possível. A idéia é tornar o software mais flexível, fácil de modificar e de criar novas implementações.” ( Wikipédia)

Exemplo 1: Um usuário de computador não precisa saber como a memória de vídeo é gerenciada para poder jogar Quake.

Exemplo 2: Você não precisa saber como o método ”Dormir” da classe ”Mamifero” funciona, para utilizá-lo.

Modificadore de AcessoServem para restringir ou permitir o acesso a classes,

métodos, atributos, propriedades, etc... Em C# existem 5 modificadores de acesso:

Public -

Protected Internal -

Internal -Protected -Private - Apenas membros do mesmo tipo.

Apenas para tipos derivados.

Apenas para código do mesmo assembly.

Protected + Internal

Qualquer código, sem restrição.

Exemplo

Propriedades• Servem para “mascarar” o acesso aos atributos da classe;

• Utilizadas junto com modificadores de acesso;

• Um dos pilares do Encapsulamento;

Exemplo

Indica que esta propriedade

perminte apenas pegar o valor do

atributo.

Indica que esta propriedade

perminte apenas atribuir o valor

do atributo.

Exemplo

Autor: Andre Petris EsteveEdição e Revisão: Zhenlei Ji