Upload
hadan
View
214
Download
0
Embed Size (px)
Citation preview
- 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