programação orientada a objetos - sessão 3 - métodos

43
PROGRAMAÇÃO ORIENTADA A OBJETOS Professor Felipe Fontoura

Upload: felipe-fontoura

Post on 25-May-2015

214 views

Category:

Education


2 download

DESCRIPTION

* Propriedades * Métodos * Construtores

TRANSCRIPT

Page 1: Programação Orientada a Objetos - Sessão 3 - Métodos

PROGRAMAÇÃO ORIENTADA A OBJETOS

Professor Felipe Fontoura

Page 2: Programação Orientada a Objetos - Sessão 3 - Métodos

SESSÃO 3- MÉTODOS

•Introdução ao paradigma de orientação a objetos (processos)

•Métodos

•Propriedades

•Construtores

•Exercícios práticos

Page 3: Programação Orientada a Objetos - Sessão 3 - Métodos

O paradigma de orientação a objetos traz os conceitos do mundo real, para o mundo virtual,

para um determinado domínio.

Relembrando

Page 4: Programação Orientada a Objetos - Sessão 3 - Métodos

Todo domínio é composto por entidades, ou seja, informações e processos relacionados a

um determinado contexto.

Relembrando

Page 5: Programação Orientada a Objetos - Sessão 3 - Métodos

Logo, uma aplicação (programa) que foi concebida aos moldes da programação orientada

a objetos é um reflexo de um domínio.

Relembrando

Page 6: Programação Orientada a Objetos - Sessão 3 - Métodos

Exemplo de Domínio

Uma agência bancária

Relembrando

Page 7: Programação Orientada a Objetos - Sessão 3 - Métodos

Toda agência bancár ia possui algumas informações e processos, assim formando o seu domínio. Sendo estes, os básicos:

Funcionários ClientesContas

Domínio Bancário

Relembrando

Page 8: Programação Orientada a Objetos - Sessão 3 - Métodos

😄😀☺️ 😏

😁

💰 💰

💰Conta da Amanda

Conta da Telma

Conta do TadeuAmanda

TadeuTelma

Jorge

Paulo

Contas

Clientes Funcionários

Domínio Bancário

Relembrando

Page 9: Programação Orientada a Objetos - Sessão 3 - Métodos

Cada entidade do domínio bancário possui as suas respectivas informações e processos.

Relembrando

Page 10: Programação Orientada a Objetos - Sessão 3 - Métodos

Como podemos observar…

Um domínio possui uma ou mais entidades.

Relembrando

Page 11: Programação Orientada a Objetos - Sessão 3 - Métodos

Como podemos observar…

Uma entidade possui informações e processos.

Relembrando

Page 12: Programação Orientada a Objetos - Sessão 3 - Métodos

CLASSES

Relembrando

Page 13: Programação Orientada a Objetos - Sessão 3 - Métodos

Uma classe é basicamente uma abstração da entidade no domínio, por exemplo a classe

Conta Bancária.

Relembrando

Page 14: Programação Orientada a Objetos - Sessão 3 - Métodos

Funcionário ClienteConta

Domínio Bancário

Classes

Relembrando

Page 15: Programação Orientada a Objetos - Sessão 3 - Métodos

Uma classe é composta por atributos e métodos.

Conta Bancária

Data de Abertura

Saldo

Sacar

Depositar

{Atributos (informações)

{Métodos (processos)

Relembrando

Page 16: Programação Orientada a Objetos - Sessão 3 - Métodos

ATRIBUTOS

Relembrando

Page 17: Programação Orientada a Objetos - Sessão 3 - Métodos

Um atributo é essencialmente a uma informação de uma classe (entidade) de um domínio, por exemplo a classe Conta Bancária.

Relembrando

Page 18: Programação Orientada a Objetos - Sessão 3 - Métodos

Conta Bancária

Data de Abertura

Saldo{Atributos

(informações)

Relembrando

Page 19: Programação Orientada a Objetos - Sessão 3 - Métodos

Atributos de uma classe no C#

Classe

Modificadores  de  Acesso

Atributos

Relembrando

Page 20: Programação Orientada a Objetos - Sessão 3 - Métodos

MÉTODOS

Page 21: Programação Orientada a Objetos - Sessão 3 - Métodos

Enquanto que, o atributo é a uma informação de uma classe (entidade) de um domínio, o método

é o processo, por exemplo a classe Conta Bancária.

Page 22: Programação Orientada a Objetos - Sessão 3 - Métodos

Conta Bancária

Data de Abertura

Saldo

Sacar

Depositar

{Atributos (informações)

{Métodos (processos)

Page 23: Programação Orientada a Objetos - Sessão 3 - Métodos

Os métodos (processos) são todas as “ações” de uma classe, com eles (os métodos) podemos executar comandos, e alterar os estados dos atributos.

Page 24: Programação Orientada a Objetos - Sessão 3 - Métodos

Métodos de uma classe no C#

Modificadores  de  Acesso ParâmetrosRetorno  do  

Método

Page 25: Programação Orientada a Objetos - Sessão 3 - Métodos

Uso de uma classe e métodos no C#

Page 26: Programação Orientada a Objetos - Sessão 3 - Métodos

RETORNO DE MÉTODOS, NOVO EXEMPLO: CALCULADORA

O método Somar, através dos dois parâmetros (x e y) executa uma soma e retorna o resultado.

Page 27: Programação Orientada a Objetos - Sessão 3 - Métodos

Exemplo de uso do método Somar da classe Calculadora. Observe o retorno do método como é utilizado, se atribuí

para outra variável.

Page 28: Programação Orientada a Objetos - Sessão 3 - Métodos

PROPRIEDADES

Page 29: Programação Orientada a Objetos - Sessão 3 - Métodos

Em sua essência, propriedades são métodos “especiais" que possibilitam o acesso aos

atributos.

Primeiro, vamos entender o problema…

Page 30: Programação Orientada a Objetos - Sessão 3 - Métodos

Supondo que gostaríamos de imprimir na tela o atributo de Saldo da Conta Bancária:

Conta Bancária

Data de Abertura

Saldo

Sacar

Depositar

Page 31: Programação Orientada a Objetos - Sessão 3 - Métodos

Acessar um atributo ou método privado fora do contexto da classe fere o princípio de Modificadores de Acesso da POO (veremos mais sobre na sessão 4). Por isso, este código nunca irá funcionar! Pois o

atributo _saldo é private.

Page 32: Programação Orientada a Objetos - Sessão 3 - Métodos

A solução para acessar atributos privados não é transforma-los em públicos, mais sim criar uma

propriedade para o mesmo, que no caso é pública. Vejamos…

Page 33: Programação Orientada a Objetos - Sessão 3 - Métodos

Propriedade

Page 34: Programação Orientada a Objetos - Sessão 3 - Métodos

Com a propriedade, agora é possível de imprimir na tela o saldo da conta bancária.

Page 35: Programação Orientada a Objetos - Sessão 3 - Métodos

As Propriedades, ou em inglês, Properties, são métodos especiais de acesso aos atributos, por isso devem possuir os mesmos nomes dos mesmos contudo respeitando o nome em CamelCase. !

As propriedades possuem dois meios de acesso: !

Get: Do inglês “pegar" retorna o valor de um determinado atributo; !

Set: Do inglês “definir" atribuí um valor a um determinado atributo.

Page 36: Programação Orientada a Objetos - Sessão 3 - Métodos

Se uma propriedade possui somente um Get, isso significa que o atributo é “somente leitura”, ou seja, é possível apenas retornar (get) o valor do mesmo. Neste caso foi necessário para o Saldo, que deve ser manipulado somente pelos métodos Sacar e Depositar. Do caso contrário, 99% das vezes as propriedades deverão conter o Set e Get.

Page 37: Programação Orientada a Objetos - Sessão 3 - Métodos

Outra regra de codificação importante é que a propriedade deve possuir o mesmo tipo do

atributo:

Page 38: Programação Orientada a Objetos - Sessão 3 - Métodos

CONSTRUTORES

Page 39: Programação Orientada a Objetos - Sessão 3 - Métodos

Construtores são métodos que permitem iniciar os atributos de uma classe no momento da sua

instanciação. !

Em especial, este método deve possuir o mesmo nome da classe.

Page 40: Programação Orientada a Objetos - Sessão 3 - Métodos

Construtor

Page 41: Programação Orientada a Objetos - Sessão 3 - Métodos

Supondo que desejamos iniciar ou criar uma instância da classe ContaCorrente (objeto) com

um saldo:

Page 42: Programação Orientada a Objetos - Sessão 3 - Métodos

Construtor

Page 43: Programação Orientada a Objetos - Sessão 3 - Métodos

EXERCÍCIO PRÁTICO

Atualmente no Brasil possuímos diversos tipos de investimentos, entre eles o mais popular é a Poupança, na qual possui uma taxa de juros de 0,068% normalmente.

O exercício consiste em criar uma classe chamada ContaPoupanca que possua os mesmos atributos e métodos da classe ContaCorrente (mesmo código), porém devemos adicionar um método chamado CalcularJuros, que quando executado calcula o novo Saldo acrescido da taxa de juros informada.