280 likes | 385 Views
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.
E N D
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çãobaseadonacomposição e interação entre diversasunidades de software chamadas de objetos” - Wikipédia
Classe • É a representaçãode um conjunto de coisasquepossuemsimilaridades. Exemplo: Conjunto de pessoas, conjunto de açõesdabolsa de valores. • É o conjunto de atributos e métodosquepodemcompor um objeto. • -> variáveisquecontêminformaçõessobre o objeto. • -> conjunto de operaçõesquemodificamosatributos. - Atributos - Métodos
Exemplo • Vamosrepresentarfuncionários de umaempresa. Todososexemplos a seguirsãobaseadosnasintaxe de C#.
Construtor de Classes • Construtor de umaclasse é um método especial queretorna um ponteiroparaumavariável do tipodaclasse. • Normalmenteutilizadoparainicializarosatributosdaclasse.
Definição ParâmetrosPedidos(opcional) Retornaponteiro do tipo ”Funcionario” Modificador de Acesso • publicFuncionario(stringnomeFun, intidadeFun, floatsalarioFun) • { • // inicialização dos atributos • nome = nomeFun; • idade = idadeFun; • salario = salarioFun; • }
Objeto • É a instanciação de umaclasse. • É um item do conjuntorepresentadopelaclasse. • Exemplo: O ”Zezinho” do conjunto de pessoas, a ação ”PETR50” do conjunto de açõesdabolsa de valores. • Utilizando a classeFuncionario e seuconstrutordefinidosanteriormente, podemosinstanciarváriosfuncionáriosdaempresa:
// DeclaraçãodavariáveltipoFuncionario • //emalguma parte do programa • Funcionariojo; • // Inicializaçãodavariável • jo = newFuncionario(”João”, 80, 100f); Semelhanteaomalloc do C Chamada do Construtor
Manipulando um Objeto • Considerando o quefoianteriormentedefinido, poderíamos: • // Mudar o salário do Zé • jo.MudaSalario(120f); • // Quando o Zéfizeraniversário... • jo.idade = jo.idade + 1; O ponto é usadoparaacessaratributos e métodos do Objeto, como as structsem C
Namespace • É um conjunto de código. • Auxilianaorganização do código. • Independe de pastas oudiretórios
Utilização do Namespace Para poderteracessoaocódigoqueestáem um namespace diferente do atual, pode-se acessá-lo daseguintemaneira: Namespace acessado Códigodentro do Namespace System
Outramaneirautiliza a keyword using e emseguida o nome do namespace, antes dadeclaração do namespace atual:
Herança • Tomemosdoisconjuntos: o das ovelhas e o dos cavalos. • Ambos podem ser representadospor classes: Cavalo e Ovelha. • Ambos osconjuntospossuemsimilaridades: quatropatas, pêlo, massa; ambos respiram, dormem, comem, etc... • Isso se deve a ambos osconjuntospertenceremaoconjunto dos mamíferos.
PoderíamosentãocriarumaclassechamadaMamífero. numPatas, massa, etc... andar, comer, dormir, respirar... Assim, Mamíferoseriaclasse base de Ovelha e Cavalo. Tal como, elessão classes herdeiras (filhas, derivadas) de Mamífero, herdandoseusatributos e métodos. Atributos: Métodos:
Exemplo Refere-se a variáveldaClasse
Exemplo IndicaqueCavaloherda de Mamífero Quando o construtor de Cavalo é chamado, ele, porsuavez, chama o Construtordaclasse base (Mamífero)
Polimorfismo • É a capacidade de gerenciarvariadostipos de dados damesma forma. • Isto é feito a partir de um pontoemcomum: classe base.
Encapsulamento Preceito - ”Separar o programaempartes, o maisisoladaspossível. A idéia é tornar o software maisflexível, fácil de modificar e de criar novas implementações.” ( Wikipédia) Exemplo 1: Um usuário de computadornãoprecisasabercomo a memória de vídeo é gerenciadaparapoderjogar Quake. Exemplo 2: Vocênãoprecisasabercomo o método ”Dormir” daclasse ”Mamifero” funciona, parautilizá-lo.
Modificadore de Acesso Servempararestringiroupermitir o acesso a classes, métodos, atributos, propriedades, etc... Em C# existem 5 modificadores de acesso: Private - Apenas membros do mesmo tipo. Protected - Apenasparatiposderivados. Internal - Apenasparacódigo do mesmo assembly. ProtectedInternal - Protected + Internal Public - Qualquercódigo, semrestrição.
Propriedades • Servempara “mascarar” o acessoaosatributosdaclasse; • Utilizadasjunto com modificadores de acesso; • Um dos pilares do Encapsulamento;
Exemplo Indicaqueestapropriedadeperminteapenaspegar o valor do atributo. Indicaqueestapropriedadeperminteapenasatribuir o valor do atributo.
Autor: Andre Petris Esteve Edição e Revisão: Zhenlei Ji