introdução à orientação a objetos - lcad.icmc.usp.brpaulovic/aulas/poo/scc0604-aula-01... ·...
TRANSCRIPT
![Page 1: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/1.jpg)
Introdução à Orientação a Objetos
Introdução à Orientação a Objetos
SCC0604 - Programação Orientada a Objetos
Prof. Fernando V. Paulovichhttp://www.icmc.usp.br/~paulovic
Instituto de Ciências Matemáticas e de Computação (ICMC)Universidade de São Paulo (USP)
2 de agosto de 2010
![Page 2: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/2.jpg)
Introdução à Orientação a Objetos
Programação Estruturada (PE)
Sumário
1 Programação Estruturada (PE)
2 Programação Orientada a Objetos (POO)
3 Mecanismos Básicos da Orientação a Objetos
4 Princípios da Orientação a Objetos
5 Conceitos Básicos da Linguagem Java
![Page 3: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/3.jpg)
Introdução à Orientação a Objetos
Programação Estruturada (PE)
Sumário
1 Programação Estruturada (PE)
2 Programação Orientada a Objetos (POO)
3 Mecanismos Básicos da Orientação a Objetos
4 Princípios da Orientação a Objetos
5 Conceitos Básicos da Linguagem Java
![Page 4: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/4.jpg)
Introdução à Orientação a Objetos
Programação Estruturada (PE)
Introdução
Normalmente os comandos de um programa são executadassequencialmente
Em C (e C++) vários comandos permitem que essa sequênciaseja quebrada, causando o que é chamado de transferênciade controle
Durante a década de 60 tornou-se claro que o usoindiscriminado de transferência de controle era a raiz demuitos problemas
Comando goto foi considerado o grande culpado
![Page 5: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/5.jpg)
Introdução à Orientação a Objetos
Programação Estruturada (PE)
Solução: Programação Estruturada (PE)
Dijkstra (1968) provou que independente da complexidadeenvolvida, todo programa poderia ser escrito como umacombinação de comandos primitivos envolvendo três estruturasbásicas de controle
1 estrutura de sequência2 estrutura de seleção3 estrutura de repetição
Assim nascia a Programação Estruturada
A experiência tem mostrado que a melhor forma de sedesenvolver programas de grande porte é construí-los a partirde pequenas partes (dividir para conquistar)
Em programas estruturados essas partes são denominadasfunções
![Page 6: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/6.jpg)
Introdução à Orientação a Objetos
Programação Orientada a Objetos (POO)
Sumário
1 Programação Estruturada (PE)
2 Programação Orientada a Objetos (POO)
3 Mecanismos Básicos da Orientação a Objetos
4 Princípios da Orientação a Objetos
5 Conceitos Básicos da Linguagem Java
![Page 7: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/7.jpg)
Introdução à Orientação a Objetos
Programação Orientada a Objetos (POO)
Importância
Devido os requisitos atuais, os softwares têm se tornado cadavez mais complexos e maiores
Isso tem levado a busca de meios para tornar a tarefa deprogramação mais produtiva
Ainda não existe uma resposta de�nitiva a essa busca, mas háum consenso de que a Programação Orientada a Objetos(POO) consegue produzir resultados mais competitivos doque as abordagens atualmente empregadas
![Page 8: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/8.jpg)
Introdução à Orientação a Objetos
Programação Orientada a Objetos (POO)
História
A ideia da Orientação a Objetos surgiu a partir das técnicasempregadas para o desenvolvimento de hardwares, ondepedaços simples de hardware (chips) eram unidos para semontar um hardware mais complexo
Historicamente, a Orientação a Objetos foi consequência doamadurecimento de princípios já existentes na década de60 (linguagem Simula, 1960-67), reimplementados na décadade 70 (linguagem Smalltalk) e incorporados a novas linguagensou linguagens ampliadas na década de 80 (linguagem C++)
![Page 9: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/9.jpg)
Introdução à Orientação a Objetos
Programação Orientada a Objetos (POO)
Enfoque Tradicional X Enfoque Orientado a Objetos
Na Análise Estruturada (AE)Procedimentos são implementados em blocos e a comunicaçãoentre eles se dá pela passagem de dados
Um programa estruturado, quando em execução, écaracterizado pelo acionamento de procedimentos cujatarefa é a manipulação de dados
Na Análise Orientada a Objeto (AOO)Dados e procedimentos são encapsulados em um sóelemento denominado objeto
O estabelecimento de comunicação entre objetos (envio erecebimento de mensagens) caracteriza a execução doprograma
![Page 10: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/10.jpg)
Introdução à Orientação a Objetos
Programação Orientada a Objetos (POO)
Vantagens da AOO em Relação à AE
Como vantagens da AOO em relação à AnáliseEstruturada temos
maior índice de reaproveitamento de código
maior facilidade de manutençãomenor código geradomaior con�abilidade no códigomaior facilidade de gerenciamento do código (reduz grandesproblemas para menores);maior robustez, etc.
![Page 11: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/11.jpg)
Introdução à Orientação a Objetos
Programação Orientada a Objetos (POO)
Vantagens da AOO em Relação à AE
Como vantagens da AOO em relação à AnáliseEstruturada temos
maior índice de reaproveitamento de códigomaior facilidade de manutenção
menor código geradomaior con�abilidade no códigomaior facilidade de gerenciamento do código (reduz grandesproblemas para menores);maior robustez, etc.
![Page 12: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/12.jpg)
Introdução à Orientação a Objetos
Programação Orientada a Objetos (POO)
Vantagens da AOO em Relação à AE
Como vantagens da AOO em relação à AnáliseEstruturada temos
maior índice de reaproveitamento de códigomaior facilidade de manutençãomenor código gerado
maior con�abilidade no códigomaior facilidade de gerenciamento do código (reduz grandesproblemas para menores);maior robustez, etc.
![Page 13: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/13.jpg)
Introdução à Orientação a Objetos
Programação Orientada a Objetos (POO)
Vantagens da AOO em Relação à AE
Como vantagens da AOO em relação à AnáliseEstruturada temos
maior índice de reaproveitamento de códigomaior facilidade de manutençãomenor código geradomaior con�abilidade no código
maior facilidade de gerenciamento do código (reduz grandesproblemas para menores);maior robustez, etc.
![Page 14: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/14.jpg)
Introdução à Orientação a Objetos
Programação Orientada a Objetos (POO)
Vantagens da AOO em Relação à AE
Como vantagens da AOO em relação à AnáliseEstruturada temos
maior índice de reaproveitamento de códigomaior facilidade de manutençãomenor código geradomaior con�abilidade no códigomaior facilidade de gerenciamento do código (reduz grandesproblemas para menores);
maior robustez, etc.
![Page 15: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/15.jpg)
Introdução à Orientação a Objetos
Programação Orientada a Objetos (POO)
Vantagens da AOO em Relação à AE
Como vantagens da AOO em relação à AnáliseEstruturada temos
maior índice de reaproveitamento de códigomaior facilidade de manutençãomenor código geradomaior con�abilidade no códigomaior facilidade de gerenciamento do código (reduz grandesproblemas para menores);maior robustez, etc.
![Page 16: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/16.jpg)
Introdução à Orientação a Objetos
Programação Orientada a Objetos (POO)
O que Isso Signi�ca?
Alguns Dados Importantes (Gartner Institute)
74% de todos os projetos de TI falham, custam mais caro no�nal ou não obedecem o prazo �nal
28% falham em todos esses requisitos
52,7% custam 189% do preço original
Todo ano, US$75B são gastos com projetos que falharam(35% do PIB Argentino em 2007)
![Page 17: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/17.jpg)
Introdução à Orientação a Objetos
Programação Orientada a Objetos (POO)
O que Isso Signi�ca?
Alguns Dados Importantes (Gartner Institute)
74% de todos os projetos de TI falham, custam mais caro no�nal ou não obedecem o prazo �nal
28% falham em todos esses requisitos
52,7% custam 189% do preço original
Todo ano, US$75B são gastos com projetos que falharam(35% do PIB Argentino em 2007)
![Page 18: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/18.jpg)
Introdução à Orientação a Objetos
Programação Orientada a Objetos (POO)
O que Isso Signi�ca?
Alguns Dados Importantes (Gartner Institute)
74% de todos os projetos de TI falham, custam mais caro no�nal ou não obedecem o prazo �nal
28% falham em todos esses requisitos
52,7% custam 189% do preço original
Todo ano, US$75B são gastos com projetos que falharam(35% do PIB Argentino em 2007)
![Page 19: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/19.jpg)
Introdução à Orientação a Objetos
Programação Orientada a Objetos (POO)
O que Isso Signi�ca?
Alguns Dados Importantes (Gartner Institute)
74% de todos os projetos de TI falham, custam mais caro no�nal ou não obedecem o prazo �nal
28% falham em todos esses requisitos
52,7% custam 189% do preço original
Todo ano, US$75B são gastos com projetos que falharam(35% do PIB Argentino em 2007)
![Page 20: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/20.jpg)
Introdução à Orientação a Objetos
Mecanismos Básicos da Orientação a Objetos
Sumário
1 Programação Estruturada (PE)
2 Programação Orientada a Objetos (POO)
3 Mecanismos Básicos da Orientação a Objetos
4 Princípios da Orientação a Objetos
5 Conceitos Básicos da Linguagem Java
![Page 21: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/21.jpg)
Introdução à Orientação a Objetos
Mecanismos Básicos da Orientação a Objetos
Objeto
Um objeto é uma entidade que formaliza o modo pelo qualcompreendemos algo no domínio do problema
Re�ete a capacidade do sistema de guardar informações
sobre o elemento abstraído, interagir com ele, ou ambas ascoisas
Entidade o mais próximo possível das entidades do mundo
real � aquilo que é tangível ou visívelDessa forma, os objetos são os substantivos do domínio doproblema
![Page 22: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/22.jpg)
Introdução à Orientação a Objetos
Mecanismos Básicos da Orientação a Objetos
Objeto
Um objeto é uma entidade que formaliza o modo pelo qualcompreendemos algo no domínio do problema
Re�ete a capacidade do sistema de guardar informações
sobre o elemento abstraído, interagir com ele, ou ambas ascoisasEntidade o mais próximo possível das entidades do mundo
real � aquilo que é tangível ou visível
Dessa forma, os objetos são os substantivos do domínio doproblema
![Page 23: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/23.jpg)
Introdução à Orientação a Objetos
Mecanismos Básicos da Orientação a Objetos
Objeto
Um objeto é uma entidade que formaliza o modo pelo qualcompreendemos algo no domínio do problema
Re�ete a capacidade do sistema de guardar informações
sobre o elemento abstraído, interagir com ele, ou ambas ascoisasEntidade o mais próximo possível das entidades do mundo
real � aquilo que é tangível ou visívelDessa forma, os objetos são os substantivos do domínio doproblema
![Page 24: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/24.jpg)
Introdução à Orientação a Objetos
Mecanismos Básicos da Orientação a Objetos
Objeto
A um objeto sempre estarão associadosO estado do objeto é de�nido pelas propriedades que elepossui e pelos valores que elas estão assumindo
O comportamento do objeto é de�nido pela forma como eleage e reage, em termos de mudança de seu estado e orelacionamento com os demais objetos do sistemaA identidade do objeto é a propriedade pela qual ele sedistingue dos demais
![Page 25: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/25.jpg)
Introdução à Orientação a Objetos
Mecanismos Básicos da Orientação a Objetos
Objeto
A um objeto sempre estarão associadosO estado do objeto é de�nido pelas propriedades que elepossui e pelos valores que elas estão assumindoO comportamento do objeto é de�nido pela forma como eleage e reage, em termos de mudança de seu estado e orelacionamento com os demais objetos do sistema
A identidade do objeto é a propriedade pela qual ele sedistingue dos demais
![Page 26: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/26.jpg)
Introdução à Orientação a Objetos
Mecanismos Básicos da Orientação a Objetos
Objeto
A um objeto sempre estarão associadosO estado do objeto é de�nido pelas propriedades que elepossui e pelos valores que elas estão assumindoO comportamento do objeto é de�nido pela forma como eleage e reage, em termos de mudança de seu estado e orelacionamento com os demais objetos do sistemaA identidade do objeto é a propriedade pela qual ele sedistingue dos demais
![Page 27: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/27.jpg)
Introdução à Orientação a Objetos
Mecanismos Básicos da Orientação a Objetos
Classe
Uma classe descreve um conjunto de objetos semelhantes
atributos e métodos que resumem as características comuns devários objetos
A diferença entre classe e objeto está no fato de um objetoconstituir uma entidade concreta com tempo e espaço deexistência, enquanto a classe é tão-somente uma abstração
Em termos de programação, de�nir uma classe signi�caformalizar um tipo de dado e todas as operações associadasa esse tipo, enquanto declarar objetos signi�ca criarvariáveis do tipo de�nido
![Page 28: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/28.jpg)
Introdução à Orientação a Objetos
Mecanismos Básicos da Orientação a Objetos
Classe (Membros)
Uma classe possui dados que de�nem suas propriedades eprocedimentos que devem ser executados sobre esses dados(membros da classe)
Os dados caracterizam atributos e os procedimentosmétodos (ou serviços) da classe
![Page 29: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/29.jpg)
Introdução à Orientação a Objetos
Mecanismos Básicos da Orientação a Objetos
Classe (Membros)
Uma classe possui dados que de�nem suas propriedades eprocedimentos que devem ser executados sobre esses dados(membros da classe)
Os dados caracterizam atributos e os procedimentosmétodos (ou serviços) da classe
![Page 30: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/30.jpg)
Introdução à Orientação a Objetos
Mecanismos Básicos da Orientação a Objetos
Classe (Atributos)
Na AOO uma das características de um objeto é seu estado.Um estado é representado pelos valores de seus atributos
Os atributos devem ser manipulados exclusivamente porserviços associados à classe a que pertencem ou a classes aela relacionadas
Diferentes objetos de uma mesma classe não compartilhamos mesmos atributos, cada um possui sua própria cópia doatributo
![Page 31: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/31.jpg)
Introdução à Orientação a Objetos
Mecanismos Básicos da Orientação a Objetos
Classe (Atributos)
Na AOO uma das características de um objeto é seu estado.Um estado é representado pelos valores de seus atributos
Os atributos devem ser manipulados exclusivamente porserviços associados à classe a que pertencem ou a classes aela relacionadas
Diferentes objetos de uma mesma classe não compartilhamos mesmos atributos, cada um possui sua própria cópia doatributo
![Page 32: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/32.jpg)
Introdução à Orientação a Objetos
Mecanismos Básicos da Orientação a Objetos
Classe (Atributos)
Na AOO uma das características de um objeto é seu estado.Um estado é representado pelos valores de seus atributos
Os atributos devem ser manipulados exclusivamente porserviços associados à classe a que pertencem ou a classes aela relacionadas
Diferentes objetos de uma mesma classe não compartilhamos mesmos atributos, cada um possui sua própria cópia doatributo
![Page 33: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/33.jpg)
Introdução à Orientação a Objetos
Mecanismos Básicos da Orientação a Objetos
Classe (Métodos ou Serviços)
Os métodos são operações que podem ser executadaspelos objetos
Serviço é um comportamento especí�co, residente no objeto,que de�ne como ele deve agir quando exigido
![Page 34: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/34.jpg)
Introdução à Orientação a Objetos
Mecanismos Básicos da Orientação a Objetos
Classe (Métodos ou Serviços)
Os métodos são operações que podem ser executadaspelos objetos
Serviço é um comportamento especí�co, residente no objeto,que de�ne como ele deve agir quando exigido
![Page 35: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/35.jpg)
Introdução à Orientação a Objetos
Mecanismos Básicos da Orientação a Objetos
Classe (Acesso a Membros)
Uma classe pode de�nir o tipo de acesso que seus membrospermitirão às demais partes do sistema
Público: O atributo ou método da classe pode ser acessadopor todas as demais entidades do sistemaProtegido: O atributo ou método da classe pode ser acessadosomente por classes da mesma hierarquiaPrivado: O atributo ou método da classe pode ser acessadosomente por métodos da própria classe
![Page 36: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/36.jpg)
Introdução à Orientação a Objetos
Mecanismos Básicos da Orientação a Objetos
Classe (Acesso a Membros)
Uma classe pode de�nir o tipo de acesso que seus membrospermitirão às demais partes do sistema
Público: O atributo ou método da classe pode ser acessadopor todas as demais entidades do sistema
Protegido: O atributo ou método da classe pode ser acessadosomente por classes da mesma hierarquiaPrivado: O atributo ou método da classe pode ser acessadosomente por métodos da própria classe
![Page 37: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/37.jpg)
Introdução à Orientação a Objetos
Mecanismos Básicos da Orientação a Objetos
Classe (Acesso a Membros)
Uma classe pode de�nir o tipo de acesso que seus membrospermitirão às demais partes do sistema
Público: O atributo ou método da classe pode ser acessadopor todas as demais entidades do sistemaProtegido: O atributo ou método da classe pode ser acessadosomente por classes da mesma hierarquia
Privado: O atributo ou método da classe pode ser acessadosomente por métodos da própria classe
![Page 38: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/38.jpg)
Introdução à Orientação a Objetos
Mecanismos Básicos da Orientação a Objetos
Classe (Acesso a Membros)
Uma classe pode de�nir o tipo de acesso que seus membrospermitirão às demais partes do sistema
Público: O atributo ou método da classe pode ser acessadopor todas as demais entidades do sistemaProtegido: O atributo ou método da classe pode ser acessadosomente por classes da mesma hierarquiaPrivado: O atributo ou método da classe pode ser acessadosomente por métodos da própria classe
![Page 39: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/39.jpg)
Introdução à Orientação a Objetos
Mecanismos Básicos da Orientação a Objetos
Classe (Notação Grá�ca)
A notação grá�ca de uma classe permite visualizar umaabstração independente de qualquer linguagem deimplementação especí�ca, dando ênfase às partes maisimportantes de uma abstração: seu nome, atributos e métodos(operações)
![Page 40: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/40.jpg)
Introdução à Orientação a Objetos
Mecanismos Básicos da Orientação a Objetos
Exercício
Modelagem da Faculdade Tabajara Inc.
A Faculdade Tabajara Inc., situada às margens da rodovia dos Imigrantes, é um
centro de excelência que pode transformar seu sonho em realidade. Hoje
contamos com quatro cursos, oferecendo uma infraestrutura que une ensino
prático e teórico, respondendo as necessidades do mercado de trabalho.
Organizacionalmente, cada curso conta com seu próprio departamento,
responsável pelo gerenciamento das disciplinas oferecidas, de forma a permitir
que cada curso possa funcionar de forma independente, como uma unidade
auto-gerenciável.
Nosso quadro docente conta com professores altamente capacitados alocados
aos diversos departamentos, ministrando disciplinas conforme suas
especialidades. Além disso, para tornar a administração departamental mais
próxima aos anseios dos alunos, temos para cada departamento um professor
responsável por sua administração.
![Page 41: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/41.jpg)
Introdução à Orientação a Objetos
Mecanismos Básicos da Orientação a Objetos
Exercício
Modelagem Disk Pizza
Quando um cliente telefona para o disk-pizza, primeiro é veri�cado, através de seutelefone, se o mesmo já está cadastrado no sistema. Caso o cliente não conste nocadastro da empresa, o mesmo deve ser cadastrado por meio de seus dados pessoais:nome, endereço, telefone e CPF.
O disk-pizza oferece uma variedade de pizzas e bebidas, sendo que o cliente podepedir de uma só vez, várias pizzas e bebidas por meio de um número de identi�caçãoda pizza ou bebida (números do cardápio), ou por meio de seus nomes. Vale salientarque, no momento do pedido, os clientes podem querer saber quais são os ingredientesque compõem uma determinada pizza, sendo possível a tirada de algum ingredientecaso o cliente assim desejar.
Além de poder pedir pizzas que constam no cardápio, um cliente pode requerer a�montagem� de uma pizza com certos ingredientes. Nesse caso, o preço da pizza serácobrado com base nos ingredientes que irão compor a mesma.
Por �m, as bebidas são fornecidas por diversas distribuidoras, sendo que o sistemadeve veri�car constantemente o estoque de forma a saber se novos pedidos devem serfeitos. Essas distribuidoras devem ser cadastradas no sistema por meio de um nome,pessoa para contato, CGC, inscrição estadual e municipal, telefone, etc
![Page 42: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/42.jpg)
Introdução à Orientação a Objetos
Mecanismos Básicos da Orientação a Objetos
Exercício
Modelagem Biblioteca
A biblioteca da Faculdade Tabajara empresta aos alunos, funcionários, professores e outras pessoascadastradas os seguintes tipos de obras: livros e �tas de vídeo. Para se cadastrar, um usuário necessitacomprovar vínculo com a instituição, mesmo que seja um grau de parentesco (por exemplo: �lhos deprofessores podem usar a biblioteca). Tais usuários são cadastrados através de seu RG, nome, endereço,telefone, entre outros atributos.
Após ser cadastrado na biblioteca, para usar os serviços, o usuário recebe um cartão magnético(contendo os seus dados de usuário). Caso ele deseje emprestar um livro que esteja disponível, isto é,não emprestado, deve usar o seu cartão magnético. No instante do empréstimo, o funcionário veri�ca seexiste alguma pendência. Caso exista, o empréstimo não pode ser feito e pior, caso haja multa, suacarteira magnética só é devolvida após a quitação do débito. O empréstimo tanto de livros, como de�tas de vídeo se dá por meio de um período máximo de sete dias.
Além disso, caso o usuário queira fazer uma consulta às obras cadastradas na biblioteca, ele pode fazê-laatravés em um terminal de computador, interno à biblioteca, pesquisando pelo título de uma obra, autorde uma obra, etc.
Uma situação muito importante nessa biblioteca é o cadastramento das obras. Quando as mesmaschegam, elas não podem ser emprestadas até que os bibliotecários efetivem o seu tombamento. Osbibliotecários não sabem qual o intervalo de período que os livros chegam, pois os pedidos partem dosetor de compras da faculdade, no entanto, quando as obras chegam, os bibliotecários são responsáveispor cadastrar os dados da chegada, tais como: nota �scal, fornecedor, data de chegada e condição deentrega.
![Page 43: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/43.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Sumário
1 Programação Estruturada (PE)
2 Programação Orientada a Objetos (POO)
3 Mecanismos Básicos da Orientação a Objetos
4 Princípios da Orientação a Objetos
5 Conceitos Básicos da Linguagem Java
![Page 44: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/44.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Princípios da Orientação a Objetos
O paradigma orientado a objetos de�ne alguns princípiosbásicos que devem ser seguidos
AbstraçãoEncapsulamentoHerançaPolimor�smoModularidadeMensagens
![Page 45: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/45.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Princípios da Orientação a Objetos
O paradigma orientado a objetos de�ne alguns princípiosbásicos que devem ser seguidos
Abstração
EncapsulamentoHerançaPolimor�smoModularidadeMensagens
![Page 46: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/46.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Princípios da Orientação a Objetos
O paradigma orientado a objetos de�ne alguns princípiosbásicos que devem ser seguidos
AbstraçãoEncapsulamento
HerançaPolimor�smoModularidadeMensagens
![Page 47: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/47.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Princípios da Orientação a Objetos
O paradigma orientado a objetos de�ne alguns princípiosbásicos que devem ser seguidos
AbstraçãoEncapsulamentoHerança
Polimor�smoModularidadeMensagens
![Page 48: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/48.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Princípios da Orientação a Objetos
O paradigma orientado a objetos de�ne alguns princípiosbásicos que devem ser seguidos
AbstraçãoEncapsulamentoHerançaPolimor�smo
ModularidadeMensagens
![Page 49: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/49.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Princípios da Orientação a Objetos
O paradigma orientado a objetos de�ne alguns princípiosbásicos que devem ser seguidos
AbstraçãoEncapsulamentoHerançaPolimor�smoModularidade
Mensagens
![Page 50: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/50.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Princípios da Orientação a Objetos
O paradigma orientado a objetos de�ne alguns princípiosbásicos que devem ser seguidos
AbstraçãoEncapsulamentoHerançaPolimor�smoModularidadeMensagens
![Page 51: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/51.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Abstração
Consiste em identi�car artefatos de software na modelagemde um domínio � ignorar aspectos não-relevantes,concentrando-se apenas nos assuntos principais do problema
Classes são abstrações de conceitos
Consiste basicamente no processo de retirar do domínio doproblema os detalhes relevantes e representá-los não mais nalinguagem de domínio, e sim na linguagem de solução (ex.:Java)
![Page 52: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/52.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Abstração
Consiste em identi�car artefatos de software na modelagemde um domínio � ignorar aspectos não-relevantes,concentrando-se apenas nos assuntos principais do problema
Classes são abstrações de conceitos
Consiste basicamente no processo de retirar do domínio doproblema os detalhes relevantes e representá-los não mais nalinguagem de domínio, e sim na linguagem de solução (ex.:Java)
![Page 53: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/53.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Abstração
Consiste em identi�car artefatos de software na modelagemde um domínio � ignorar aspectos não-relevantes,concentrando-se apenas nos assuntos principais do problema
Classes são abstrações de conceitos
Consiste basicamente no processo de retirar do domínio doproblema os detalhes relevantes e representá-los não mais nalinguagem de domínio, e sim na linguagem de solução (ex.:Java)
![Page 54: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/54.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Encapsulamento
A propriedade de implementar dados e procedimentoscorrelacionados em uma mesma entidade recebe o nomede Encapsulamento
A ideia por trás do encapsulamento é a de que um sistemaorientado a objetos não deve depender de suaimplementação interna, e sim de sua interface
![Page 55: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/55.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Encapsulamento
A propriedade de implementar dados e procedimentoscorrelacionados em uma mesma entidade recebe o nomede Encapsulamento
A ideia por trás do encapsulamento é a de que um sistemaorientado a objetos não deve depender de suaimplementação interna, e sim de sua interface
![Page 56: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/56.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Herança
Permite a hierarquização das classes em um sistema
Uma classe mais especializada (sub-classe ou classe-derivada)herda as propriedades (métodos e atributos) e semântica deuma classe mais geral (super-classe ou classe-base)
Uma sub-classe pode sobrescrever o comportamento deuma super-classe
É um relacionamento �é-um(a)�
Promove re-uso
![Page 57: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/57.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Herança
Permite a hierarquização das classes em um sistema
Uma classe mais especializada (sub-classe ou classe-derivada)herda as propriedades (métodos e atributos) e semântica deuma classe mais geral (super-classe ou classe-base)
Uma sub-classe pode sobrescrever o comportamento deuma super-classe
É um relacionamento �é-um(a)�
Promove re-uso
![Page 58: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/58.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Herança
Permite a hierarquização das classes em um sistema
Uma classe mais especializada (sub-classe ou classe-derivada)herda as propriedades (métodos e atributos) e semântica deuma classe mais geral (super-classe ou classe-base)
Uma sub-classe pode sobrescrever o comportamento deuma super-classe
É um relacionamento �é-um(a)�
Promove re-uso
![Page 59: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/59.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Herança
Permite a hierarquização das classes em um sistema
Uma classe mais especializada (sub-classe ou classe-derivada)herda as propriedades (métodos e atributos) e semântica deuma classe mais geral (super-classe ou classe-base)
Uma sub-classe pode sobrescrever o comportamento deuma super-classe
É um relacionamento �é-um(a)�
Promove re-uso
![Page 60: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/60.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Herança
Permite a hierarquização das classes em um sistema
Uma classe mais especializada (sub-classe ou classe-derivada)herda as propriedades (métodos e atributos) e semântica deuma classe mais geral (super-classe ou classe-base)
Uma sub-classe pode sobrescrever o comportamento deuma super-classe
É um relacionamento �é-um(a)�
Promove re-uso
![Page 61: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/61.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Polimor�smo
Possibilita que métodos diferentes, implementados emdiferentes níveis da hierarquia de classes, tenham o mesmonome (homônimos)
Possibilita que um método possa apresentar diferentescomportamentos
![Page 62: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/62.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Polimor�smo
Possibilita que métodos diferentes, implementados emdiferentes níveis da hierarquia de classes, tenham o mesmonome (homônimos)
Possibilita que um método possa apresentar diferentescomportamentos
![Page 63: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/63.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Modularidade
Umas das capacidades de um sistema orientado a objetos é aseparação de conjunto de módulos, cada um contendoclasses com independência de funcionamento
![Page 64: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/64.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Modularidade
Umas das capacidades de um sistema orientado a objetos é aseparação de conjunto de módulos, cada um contendoclasses com independência de funcionamento
![Page 65: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/65.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Modularidade
Umas das capacidades de um sistema orientado a objetos é aseparação de conjunto de módulos, cada um contendoclasses com independência de funcionamento
![Page 66: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/66.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Mensagens
Objetos se comunicam por meio do envio/recebimento demensagens
Uma mensagem contem alguma forma de informação
![Page 67: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/67.jpg)
Introdução à Orientação a Objetos
Princípios da Orientação a Objetos
Mensagens
Objetos se comunicam por meio do envio/recebimento demensagens
Uma mensagem contem alguma forma de informação
![Page 68: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/68.jpg)
Introdução à Orientação a Objetos
Conceitos Básicos da Linguagem Java
Sumário
1 Programação Estruturada (PE)
2 Programação Orientada a Objetos (POO)
3 Mecanismos Básicos da Orientação a Objetos
4 Princípios da Orientação a Objetos
5 Conceitos Básicos da Linguagem Java
![Page 69: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/69.jpg)
Introdução à Orientação a Objetos
Conceitos Básicos da Linguagem Java
Introdução a Linguagem Java
Histórico
Na invenção de Java, a National Public Radio apresentou umahistória de 10 minutos sobre a linguagem Java
Os criadores de Java apontam a mesma para a criação denovos aplicativos (para web, celulares, PDAs, etc.) e nãopara a reescrita do que já existe
Vantagens da Linguagem Java
Independência de plataforma - necessário para aplicaçõesWeb
Totalmente orientada a objetos, diferente do C++ - émuito mais fácil escrever código Java do que C++
![Page 70: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/70.jpg)
Introdução à Orientação a Objetos
Conceitos Básicos da Linguagem Java
Introdução a Linguagem Java
Histórico
Na invenção de Java, a National Public Radio apresentou umahistória de 10 minutos sobre a linguagem Java
Os criadores de Java apontam a mesma para a criação denovos aplicativos (para web, celulares, PDAs, etc.) e nãopara a reescrita do que já existe
Vantagens da Linguagem Java
Independência de plataforma - necessário para aplicaçõesWeb
Totalmente orientada a objetos, diferente do C++ - émuito mais fácil escrever código Java do que C++
![Page 71: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/71.jpg)
Introdução à Orientação a Objetos
Conceitos Básicos da Linguagem Java
Introdução a Linguagem Java
Histórico
Na invenção de Java, a National Public Radio apresentou umahistória de 10 minutos sobre a linguagem Java
Os criadores de Java apontam a mesma para a criação denovos aplicativos (para web, celulares, PDAs, etc.) e nãopara a reescrita do que já existe
Vantagens da Linguagem Java
Independência de plataforma - necessário para aplicaçõesWeb
Totalmente orientada a objetos, diferente do C++ - émuito mais fácil escrever código Java do que C++
![Page 72: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/72.jpg)
Introdução à Orientação a Objetos
Conceitos Básicos da Linguagem Java
Introdução a Linguagem Java
Histórico
Na invenção de Java, a National Public Radio apresentou umahistória de 10 minutos sobre a linguagem Java
Os criadores de Java apontam a mesma para a criação denovos aplicativos (para web, celulares, PDAs, etc.) e nãopara a reescrita do que já existe
Vantagens da Linguagem Java
Independência de plataforma - necessário para aplicaçõesWeb
Totalmente orientada a objetos, diferente do C++ - émuito mais fácil escrever código Java do que C++
![Page 73: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/73.jpg)
Introdução à Orientação a Objetos
Conceitos Básicos da Linguagem Java
Introdução a Linguagem Java
Histórico
Na invenção de Java, a National Public Radio apresentou umahistória de 10 minutos sobre a linguagem Java
Os criadores de Java apontam a mesma para a criação denovos aplicativos (para web, celulares, PDAs, etc.) e nãopara a reescrita do que já existe
Vantagens da Linguagem Java
Independência de plataforma - necessário para aplicaçõesWeb
Totalmente orientada a objetos, diferente do C++ - émuito mais fácil escrever código Java do que C++
![Page 74: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/74.jpg)
Introdução à Orientação a Objetos
Conceitos Básicos da Linguagem Java
Conceitos Errados sobre Java
Conceitos errados sobre Java
Java é uma extensão do HTML
Java é fácil de aprender
Java vai se tornar uma linguagem universal
Java é apenas outra linguagem de programação
Java é interpretada, portanto lenta
As applets Java são um risco a segurança
O JavaScript é uma versão mais simples da linguagem Java
![Page 75: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/75.jpg)
Introdução à Orientação a Objetos
Conceitos Básicos da Linguagem Java
Conceitos Errados sobre Java
Conceitos errados sobre Java
Java é uma extensão do HTML
Java é fácil de aprender
Java vai se tornar uma linguagem universal
Java é apenas outra linguagem de programação
Java é interpretada, portanto lenta
As applets Java são um risco a segurança
O JavaScript é uma versão mais simples da linguagem Java
![Page 76: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/76.jpg)
Introdução à Orientação a Objetos
Conceitos Básicos da Linguagem Java
Conceitos Errados sobre Java
Conceitos errados sobre Java
Java é uma extensão do HTML
Java é fácil de aprender
Java vai se tornar uma linguagem universal
Java é apenas outra linguagem de programação
Java é interpretada, portanto lenta
As applets Java são um risco a segurança
O JavaScript é uma versão mais simples da linguagem Java
![Page 77: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/77.jpg)
Introdução à Orientação a Objetos
Conceitos Básicos da Linguagem Java
Conceitos Errados sobre Java
Conceitos errados sobre Java
Java é uma extensão do HTML
Java é fácil de aprender
Java vai se tornar uma linguagem universal
Java é apenas outra linguagem de programação
Java é interpretada, portanto lenta
As applets Java são um risco a segurança
O JavaScript é uma versão mais simples da linguagem Java
![Page 78: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/78.jpg)
Introdução à Orientação a Objetos
Conceitos Básicos da Linguagem Java
Conceitos Errados sobre Java
Conceitos errados sobre Java
Java é uma extensão do HTML
Java é fácil de aprender
Java vai se tornar uma linguagem universal
Java é apenas outra linguagem de programação
Java é interpretada, portanto lenta
As applets Java são um risco a segurança
O JavaScript é uma versão mais simples da linguagem Java
![Page 79: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/79.jpg)
Introdução à Orientação a Objetos
Conceitos Básicos da Linguagem Java
Conceitos Errados sobre Java
Conceitos errados sobre Java
Java é uma extensão do HTML
Java é fácil de aprender
Java vai se tornar uma linguagem universal
Java é apenas outra linguagem de programação
Java é interpretada, portanto lenta
As applets Java são um risco a segurança
O JavaScript é uma versão mais simples da linguagem Java
![Page 80: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/80.jpg)
Introdução à Orientação a Objetos
Conceitos Básicos da Linguagem Java
Conceitos Errados sobre Java
Conceitos errados sobre Java
Java é uma extensão do HTML
Java é fácil de aprender
Java vai se tornar uma linguagem universal
Java é apenas outra linguagem de programação
Java é interpretada, portanto lenta
As applets Java são um risco a segurança
O JavaScript é uma versão mais simples da linguagem Java
![Page 81: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/81.jpg)
Introdução à Orientação a Objetos
Conceitos Básicos da Linguagem Java
Compilando um Programa
Compilar
Antes de executar um programa, o mesmo necessita sercompilado
Para isso o comando javac deve ser usando, passando comoargumento a classe a ser compilada
javac Principal.java
![Page 82: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/82.jpg)
Introdução à Orientação a Objetos
Conceitos Básicos da Linguagem Java
Compilando um Programa
Compilar
Antes de executar um programa, o mesmo necessita sercompilado
Para isso o comando javac deve ser usando, passando comoargumento a classe a ser compilada
javac Principal.java
![Page 83: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/83.jpg)
Introdução à Orientação a Objetos
Conceitos Básicos da Linguagem Java
Executando um Programa
Executar
Em Java, para se executar um programa (depois decompilá-lo), o comando java é usado, passando comoargumento a classe que contém o método main a ser executado
java Principal
![Page 84: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/84.jpg)
Introdução à Orientação a Objetos
Conceitos Básicos da Linguagem Java
Executando um Programa
Executar
Em Java, para se executar um programa (depois decompilá-lo), o comando java é usado, passando comoargumento a classe que contém o método main a ser executado
java Principal
![Page 85: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/85.jpg)
Introdução à Orientação a Objetos
Conceitos Básicos da Linguagem Java
Executando um Programa
Executar
Em Java, para se executar um programa (depois decompilá-lo), o comando java é usado, passando comoargumento a classe que contém o método main a ser executado
java Principal
![Page 86: Introdução à Orientação a Objetos - lcad.icmc.usp.brpaulovic/aulas/POO/SCC0604-aula-01... · Assim nascia a Programação Estruturada A experiência tem mostrado que a melhor](https://reader031.vdocuments.com.br/reader031/viewer/2022021909/5be84ff809d3f29e6f8ba023/html5/thumbnails/86.jpg)
Introdução à Orientação a Objetos
Conceitos Básicos da Linguagem Java
CLASSPATH
C:/bibliotecas/locadora/modeloC:/bibliotecas/locadora/controleC:/bibliotecas/locadora/visao
CLASSPATH=C:/bibliotecas/locadora;
import modelo.*; //para package modelo;import controle.*; //para package controle;import visao.*; //para package visao;