Apresentação da Disciplina e Revisão dos Conceitos de ...dai.ifma.edu.br/~mlcsilva/aulaslp3/Aula...

22
- 31 INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA - 22 Prof. Mauro Lopes Linguagem de Programação 3 1 Apresentação da Disciplina e Revisão dos Conceitos de Orientação a Objetos Linguagem de Programação 3 – Prof. Mauro Lopes

Transcript of Apresentação da Disciplina e Revisão dos Conceitos de ...dai.ifma.edu.br/~mlcsilva/aulaslp3/Aula...

- 31

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMAINSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

- 22

Prof. Mauro Lopes

Linguagem de Programação 3

1

Apresentação da Disciplina e Revisão dos Conceitos de Orientação a Objetos

Linguagem de Programação 3 – Prof. Mauro Lopes

22

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Objetivos

• Nesta aula iremos apresentar a nossa disciplina e os conceitos que definem os principais elementos do paradigma orientado a objetos. Trataremos aqui de assuntos como: Linguagens de Programação Orientadas a Objetos, definição de Objetos e Classes, Herança, Polimorfismo, Classes Abstratas e Interfaces, etc. Boa aula a todos.

2Linguagem de Programação 3 – Prof. Mauro Lopes

22

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Plano de Aula

• Apresentação da Disciplina;

• Paradigmas de Desenvolvimento de Sistemas;

• Histórico da Orientação a Objetos;

• Linguagens de Programação Orientadas a Objetos;

• Conceitos de Orientação a Objetos– Objeto

– Classe

– Encapsulamento

– Herança

– Polimorfismo

– Classes Abstratas e Interface

3Linguagem de Programação 3 – Prof. Mauro Lopes

22

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Apresentação da Disciplina

4Linguagem de Programação 3 – Prof. Mauro Lopes

22

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Paradigmas de Desenvolvimento de Sistemas

• Crise do Software – anos 60. Em resposta a crise temos alguns marcos:– Surgimento do conceito da Engenharia de Software;

– Dijkstra escreve sobre a programação estruturada;

– Codd descreve o modelo relacional (já na década de 70);

– Surgem a linguagem Pascal e a linguagem C;

– Tom de Marco populariza a análise estruturada;

• A partir deste ponto foi dada a devida importância ao aumento na complexidade dos sistemas de software a serem desenvolvidos.

5Linguagem de Programação 3 – Prof. Mauro Lopes

22

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Paradigmas de Desenvolvimento de Sistemas

• Na Programação Estruturada, os dados são manuseados de forma passiva, perdendo, em alguns casos, sua importância no contexto. Já na Programação Orientada a Objeto, os dados são protegidos por uma cápsula, na qual residem procedimentos que intermediam o acesso a eles.

6

Programação Estruturada Programação O. O.

Linguagem de Programação 3 – Prof. Mauro Lopes

22

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Histórico da Orientação a Objetos

• O SmallTalk continua sendo usado comercialmente, estando presente no mercado nos seguintes produtos: Visual Age for SmallTalk da IBM, SmallTalk/V for Windows da ParcPlaceDigitalk e VisualWorks da Cincon, entre outros.

7Linguagem de Programação 3 – Prof. Mauro Lopes

22

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Conceitos de Orientação a Objetos

• Abstração:– Abstração consiste de focalizar nos aspectos essenciais

inerentes a uma entidade e ignorar propriedades “acidentais”.

Em termos de desenvolvimento de sistemas, isto significa

concentrar-se no que um objeto é e faz antes de se decidir

como ele será implementado.

8

O gato na visão de sua dona e na visão da veterinária

Linguagem de Programação 3 – Prof. Mauro Lopes

22

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Conceitos de Orientação a Objetos

9

• Objetos

Linguagem de Programação 3 – Prof. Mauro Lopes

22

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Conceitos de Orientação a Objetos

10

• Classes

Linguagem de Programação 3 – Prof. Mauro Lopes

22

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Conceitos de Orientação a Objetos

11

• Encapsulamento

� Qual a melhor maneira de mudar o canal de sua TV ?

Usar o Controle Remoto ? Abrir a TV e mexer nos circuitos ?

Linguagem de Programação 3 – Prof. Mauro Lopes

22

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Conceitos de Orientação a Objetos

12

• Encapsulamento

� Identifique os objetos que interagem nesta imagem:

Atributos ? Métodos ?

Linguagem de Programação 3 – Prof. Mauro Lopes

22

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Conceitos de Orientação a Objetos

13

• Herança

� Na nossa instituição de ensino temos dois tipos de funcionários:

Funcionário Administrativo Professor

Que características você pode apontar para ambos elementos ?•Características comuns•Características diferentes

Descreva como seria a Classe Professor e a Classe Funcionário Administrativo ?

Linguagem de Programação 3 – Prof. Mauro Lopes

22

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Conceitos de Orientação a Objetos

14

• Herança

� Vamos ver as classes Funcionário Administrativo e Professor:

Funcionário Admin.

nomedata de nascimentocpfsexoestado civilsetor que trabalha

definir_ferias()calcular_salario()mudar_de_setor()calcular_faltas()

Professor

nomedata de nascimentocpfsexoestado civilcurso em que ministra auladisciplinas que ministra

definir_ferias()calcular_salario()mudar_de_curso()adicionar_disciplinas()calcular_faltas()

Você pode perceber que existem um conjunto de características (atributos) e ações (métodos) que são semelhantes às duas Classes !!!

Linguagem de Programação 3 – Prof. Mauro Lopes

22

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Conceitos de Orientação a Objetos

15

• Herança

Funcionário

nomedata de nascimentocpfsexoestado civil

definir_ferias()calcular_salario()calcular_faltas()

Professor

curso em que ministra auladisciplinas que ministra

mudar_de_curso()adicionar_disciplinas()

Administrativo

setor que trabalha

mudar_de_setor()

SuperClasse

SubClasses

Linguagem de Programação 3 – Prof. Mauro Lopes

22

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Conceitos de Orientação a Objetos

16

• Polimorfismo

Figura Geométrica

coráreaperímetro

pintar()calcular_área()calcular_perímetro()

Retângulo

calcular_area()

Quadrado

calcular_area()

SuperClasse

SubClasses

Linguagem de Programação 3 – Prof. Mauro Lopes

22

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Polimorfismo

17

• Polimorfismo: termo usado para significar que uma chamada de método pode ser executada de várias “formas” (ou polimorficamente), sendo que quem decide a “forma” é o objeto que recebe a chamada.

• Tipos de Polimorfismo:

• sobrecarga é considerada “polimorfismo ad-hoc”;

• e a sobreposição é considerada “polimorfismo universal”ou “verdadeiro polimorfismo”

Linguagem de Programação 3 – Prof. Mauro Lopes

22

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Encapsulamento e Modificadores de Acesso

18Linguagem de Programação 3 – Prof. Mauro Lopes

22

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Classes Abstratas e Interfaces

19Linguagem de Programação 3 – Prof. Mauro Lopes

22

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Perguntas

20

Página do Professor Mauro:http://www.dai.ifma.edu.br/~mlcsilva

Linguagem de Programação 3 – Prof. Mauro Lopes

22

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Próxima Aula...

• Elementos da Linguagem C#

21Linguagem de Programação 3 – Prof. Mauro Lopes

22

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Referências

• Materiais avulsos da Internet e o Orientação a Objetos com Java – Simples, fácil e eficiente, Everton Coimbra de Araújo - Editora Visual Books, 186 páginas.

22Linguagem de Programação 3 – Prof. Mauro Lopes