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
Top Related