• Nenhum resultado encontrado

4ª aula - Programação orientada a objetos

N/A
N/A
Protected

Academic year: 2021

Share "4ª aula - Programação orientada a objetos"

Copied!
34
0
0

Texto

(1)
(2)

Programação orientada a objetos

FUNDAMENTAÇÃO

DE PROGRAMAÇÃO

(3)

Linguagem de Programação

• Objetivo: Demonstrar os conceitos iniciais

de programação orientada a objeto,

classe, herança e objeto com seus

respectivos atributos e métodos a partir do

ambiente Visual Studio, utilizando a

(4)

Programação orientada a objetos

• Fundamentação:

• Normalmente este paralelo(comparação) de ideias é suficiente para que um novato no

paradigma da programação orientada a objetos

tenha noção de programação estruturada e venha a entender os detalhes iniciais da orientação a

objetos. Assim, cria-se uma base para que os demais conceitos sejam então apresentados e entendidos ao seu tempo.

(5)

Programação orientada a objetos

• Comparação:

Programação Estruturada Programação Orientada a Objetos Nesse tipo de programação, quando há  necessidade de trabalhar com dados  heterogêneos usa‐se a estrutura de dados  denominada registro. Nesse tipo de programação, quando há  necessidade de trabalhar com dados  heterogêneos, usa‐se a estrutura de dados  denominada classe. Numa estrutura de registro é possível  definir as variáveis (chamadas campos) que  será os pontos de armazenamento dos  dados. Numa estrutura de classe é possível definir  as variáveis (chamadas de atributos) que  serão os pontos de armazenamento de  dados. Um registro permite apenas campos e toda  a operação de consistência relacionada aos  dados dos campos é tratada externamente. Uma classe permite atributos e toda a  operação de consistência relacionada aos  dados dos atributos pode ser realizada  pelos métodos e assim ser tratada  internamente. Sub‐rotinas são formadas por elementos  descritos como funções, módulos,  procedimentos, entre outras definições. Sub‐rotinas são formadas por elementos  denominados métodos.  A consistência de dados dos campos de um  registro é operacionalizada por meio de  sub‐rotinas que estão no código principal  do programa. A consistência de dados dos atributos de  uma classe é operacionalizada por meio de  métodos (procedimentos ou funções) que  podem estar no código da própria classe,  ou no código do programa principal. Passagem de parâmetro entre sub‐rotinas  ou mesmo como o programa principal. Passagem de mensagem entre métodos ou  mesmo como o programa principal. Definição estática de variáveis.  Definição de objetos via instância. 

(6)

Programação orientada a objetos

• Definição Operacional de uma classe:

• Uma classe é um tipo de dado definido pelo programador.

• Em uma classe é possível ainda ter associadas diversas sub-rotinas, que são os seus métodos, além dos campos que passam a ser seus

(7)

Exemplo:

(8)

Copiar o projeto CalculoMedia na

pasta compartilhada Programação

Orientada a objetos para o seu

respectivo computador e abrir no

Visual Studio 2013.

(9)

Programação orientada a objetos

• Definição Operacional de uma classe:

• No momento se tem uma classe denominada CadAluno, a qual possui como atributos

publicos NOME e NOTA.

• O método(ação) da classe CadAluno e o

CalcMedia() que realiza o calculo da media de 4 notas.

(10)

Programação orientada a objetos

• Definição Operacional de uma classe:

• Criando uma classe:

• Para que uma classe seja definida no ambiente

Visual C# acesse o comando no menu Project/Add Class, vai ser aberto uma caixa de dialogo Add New Item, onde você deve informar o nome da classe e clicar no botão adicionar, conforme figura a seguir.

(11)

Programação orientada a objetos

• Definição Operacional de uma classe:

(12)

Programação orientada a objetos

• Definição Operacional de uma classe:

• Para usar uma classe, é necessário instanciar um objeto, em que se especificam os acessos às

suas propriedades(atributos e métodos).

• Assim sendo, está definido a linha de código:

CadAluno ALUNO = new CadAluno();

• Encontra-se entre chaves da classe Program dentro do método Main(), na guia Program.cs, como indica o projeto CalculoMedia.

(13)

Programação orientada a objetos

• Definição Operacional de uma classe:

• A instrução CadAluno ALUNO = new

CadAluno(); permite criar um objeto de nome ALUNO a partir da instância de uma classe

denominada CadAluno. Desta forma, o objeto

ALUNO passa a ter acesso aos recursos

existentes na classe CadAluno que neste caso são as propriedades NOME e NOTA.

(14)

Programação orientada a objetos

• Definição Operacional de uma classe:

(15)

Programação orientada a objetos

(16)

Programação orientada a objetos

• Definição Operacional de uma classe:

• A referência a ser feita para acessar os objetos de uma determinada classe é idêntica à forma utilizada para acessar os campos das variáveis compostas, neste caso o objeto. Deve-se utilizar o símbolo de ponto como separador do nome da variável instanciada e o campo definido na classe de objetos e quando em uso, das

propriedades. Note em seguida a utilização do objeto ALUNO e a indicação das propriedades

NOME, NOTA[1], NOTA[2]. NOTA[3] e NOTA[4].

(17)

Programação orientada a objetos

• Definição Operacional de uma classe:

• Exemplo:

ALUNO.NOME = “Antonio Carlos da Silva”; ALUNO.NOTA[0] = 9.5;

ALUNO.NOTA[1] = 9.5; ALUNO.NOTA[2] = 9.5; ALUNO.NOTA[3] = 9.5;

(18)

Programação orientada a objetos

(19)

Programação orientada a objetos

• Criação do Método de uma Classe:

– Uma classe, como já exposto, é o conjunto de propriedades e também de métodos a serem definidos (instanciados) a um objeto. Em

particular, os métodos são elementos

operacionais que dão funcionalidade ao objeto. – Para exemplificar este conceito, temos a função

que retorna o valor da média das notas

bimestrais. A função desenvolvida e um método da classe CadAluno. Veja o trecho de código a seguir indicado:

(20)

Programação orientada a objetos

(21)

Programação orientada a objetos

• Criação do Método de uma Classe:

– No trecho de código anterior, além do método

CalcMedia, estão as variáveis locais SOMA e MEDIA, ambas do tipo float, usadas para

somar e guardar o valor da média calculada pelo método CalcMedia.

– Para usar esse recurso, é necessário no código do programa da guia Program.cs a linha

indicada em negrito a seguir: – ALUNO.CalCMedia();

(22)

Programação orientada a objetos

(23)

Programação orientada a objetos

• Visualização dos dados:

– A partir deste trecho do código que será feito a saída dos dados:

(24)

Programação orientada a objetos

• Conclusão de classe e objeto no exemplo:

– Neste exemplo foi aplicada a programação

orientada a objeto, pois foi definida uma classe, neste caso CadAluno, e foi instanciado a partir dela um objeto, neste caso, ALUNO contendo as propriedades NOMES, NOTAS e o método

(25)

Programação orientada a objetos

• Aplicação de Herança:

• O conceito de herança está relacionado ao fato de uma classe herdar de outra classe suas

características. Assim sendo, uma classe-filho

(subclasse) herda da classe-pai(superclasse)

todos os atributos e métodos que sejam a ele públicos. Este conceito, se bem aplicado, pode proporcionar um tempo de ganho no

desenvolvimento de novos sistemas de forma maior, pois não é necessário "reinventar a roda".

(26)

Programação orientada a objetos

• Aplicação de Herança:

• O conceito de herança está relacionado ao fato de uma classe herdar de outra classe suas

características. Assim sendo, uma classe-filho

(subclasse) herda da classe-pai(superclasse)

todos os atributos e métodos que sejam a ele públicos. Este conceito, se bem aplicado, pode proporcionar um tempo de ganho no

desenvolvimento de novos sistemas de forma maior, pois não é necessário "reinventar a roda".

(27)

Programação orientada a objetos

• Aplicação de Herança:

• Como exemplo de herança considere uma

classe denominada SalaAula(que será a classe-pai) com a propriedade(atributo) SALA, e a

classe CadAluno já existente que será a classe filha, a qual herdará da classe-pai a propriedade SALA. Assim sendo, considere o trecho do

programa na guia CadAluno.cs acima da classe CadAluno e observe detalhadamente os trechos em negrito no código seguinte:

(28)

Programação orientada a objetos

• Aplicação de Herança:

class SalaAula {

public string SALA; }

class CadAluno : SalaAula {

public string NOME;

public float[] NOTA = new float[4]; public float CalcMedia()

{

byte I;

float SOMA, MEDIA; SOMA = 0;

for (I = 0; I <= 3; I++)

SOMA = SOMA + NOTA[I]; MEDIA = SOMA / 4;

return MEDIA; }

(29)

Programação orientada a objetos

• Aplicação de Herança:

• Para especificar a herança, usa-se o símbolo de dois pontos (:) que deve ser posicionado à frente do nome da classe que herdará todas as

propriedades e métodos definidos. Desta forma a classe CadAluno passa a ter acesso à

propriedade SALA da classe SalaAula como se a propriedade SALA fosse da própria classe

(30)

Programação orientada a objetos

(31)

Exercícios

(32)

Exercícios

Programar no C# as classes conforme o

diagrama de classe dos animais, utilizando os conceitos de programação orientada a objetos com herança.

Utilizar um menu no método Main() para poder escolher criar os objetos das classes do

diagrama: Ave, Cães, Gatos e Repteis. E

depois apresentar opções para preencher os atributos e logo após apresentar estes

atributos. Desafio para quem terminar os

atributos e inserir os métodos e demonstrar.

(33)

Exercícios

Programar no C# as classes conforme o

diagrama de classe dos animais,

utilizando os conceitos de programação

orientada a objetos com herança.

Utilizar um menu no método Main() para

poder escolher criar os objetos das

classes do diagrama: Ave, Cães, Gatos e

Repteis.

(34)

Referências

Documentos relacionados

• O Java ME fornece um ambiente para aplicativos em execução em uma grande variedade de dispositivos móveis e integrados, como:. – Telefones celulares

– Tipo de dados que o objeto armazena, ou seja, os estados possíveis que ele pode assumir (atributos) – Tipos de operações que podem ser executadas pelo. objeto, ou seja, o

para o usuário digitar um nome; pega o valor digitado e altera na variável nome do objeto da Conta Bancária, através do método Alterar Nome.. Realiza saque/depósito, e depois

– Crie um construtor parametrizado inicializando todas as variáveis com os valores recebidos dos parâmetros. – Crie um construtor default (Inicializando as variáveis da

• Diferentes componentes de um sistema não devem revelar detalhes internos de suas..

• É possível comprar acessando o método comprar, passando como parâmetro dois objetos, um do tipo Pessoa e outro do tipo Produto.. M.; Programação Orientada

– É o processo de esconder todos os detalhes de um objeto que não contribuem para suas características

– Pode ser acessado por qualquer outra classe em qualquer outro pacote.