Buscar

IOO_Aula 1_Plano de Ensino e Conceitos Básicos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 44 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 44 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 44 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Implementação Orientada a Objetos - IOO
Marcia Bissaco
Universidade de Mogi das Cruzes
1
2/2020
1
 Graduação, pós-graduação
 Disciplinas que ministra
 Áreas de interesse
marciab@umc.br
 http://lattes.cnpq.br/7308927546311934 
Apresentação do Docente
2
2
Implementação Orientada a Objetos - IOO
Marcia A. S. Bissaco
Universidade de Mogi das Cruzes
Plano de Ensino
 
3
3
Ao final do semestre, o aluno deverá ter aprendido quais os conceitos básicos da técnica de programação orientada a objetos e quais as características de uma linguagem de programação orientada a objetos. O aluno deverá também ter adquirido habilidades e competências para desenvolver programas de baixa complexidade usando a linguagem Java.
Objetivo
4
Plano de Ensino
 
4
Histórico e evolução das técnicas de programação. Conceitos de implementação orientada a objetos. Linguagens de programação orientadas a objetos. Ferramentas para desenvolvimento de aplicações orientadas a objetos e introdução a linguagem orientada a objetos (Java). Implementação de classes, atributos e métodos. Trabalhando com objetos. Tipos primitivos e classes relacionadas. Operadores. Estruturas condicionais e de repetição. Encapsulamento e modificadores de acesso. Herança simples. Polimorfismo. Pacotes. Tratamento de exceções.
Ementa
5
Plano de Ensino
 
5
 Introdução à Orientação a Objetos: Evolução dos paradigmas e técnicas de programação.
Conceitos de implementação orientada a objetos.
Linguagens de programação orientadas a objetos e introdução à linguagem Java.
Tipos primitivos e operadores.
Classes e Objetos.
Atributos e Métodos.
Assinatura e chamada de métodos.
Encapsulamento e modificadores de acesso.
Métodos construtores e sobrecarga (overload) de métodos.
Conteúdo programático
6
Plano de Ensino
 
6
Métodos construtores e sobrecarga (overload) de métodos.
Métodos estáticos e conversão de tipos
Agregação e composição de objetos
Herança e Polimorfismo.
Classes abstratas e sobrescrita (overwrite) de métodos.
Pacotes.
Tratamento de exceções
Conteúdo programático
7
Plano de Ensino
 
7
Conceitos de classe-objeto;
Atributos, métodos;
Herança;
Conceitos de public, private protected;
Encapsulamento;
Relação generalização-especialização;
Polimorfismo;
Troca de mensagens entre objetos.
Conceitos
8
Plano de Ensino
 
8
Aulas teóricas e práticas. Apresentação dos conceitos e fixação através de exercícios no computador. Implementação de um projeto que consiste em uma aplicação envolvendo os conceitos de orientação a objetos estudados.
Metodologia
9
Plano de Ensino
 
9
A avaliação do desempenho do aluno referente aos conceitos explicados e implementados no laboratório será realizada através de 2 avaliações escritas (compondo 85% da nota). A avaliação da capacidade do aluno em resolver problemas será realizada através dos desafios solicitados (compondo 15%).
Forma de avaliação
10
Plano de Ensino
 
10
Bibliografia Básica
Pádua, W, P. F. “Engenharia de Software”. Fundamentos, métodos e padrões. Editora: LCT, 2001.
Santos Neto, ANTONIO GONÇALVES DOS. Java na Web. 1. Rio de Janeiro / Ciência Moderna, 2011.
WINDER, Russel; ROBERTS, Graham.; Desenvolvendo software em Java (3ª Ed); http://online.minhabiblioteca.com.br/#/books/978-85-216-1994-9/pages/67068701
RUTTER, Jake. Smashing jQuery: Interatividade Avançada com JavaScript Simples, Bookman, 2012. <http://online.minhabiblioteca.com.br/books/9788540701359>.
Bibliografia
11
Plano de Ensino
 
11
 Bibliografia complementar
ARNOLD, Ken ; GOSLING, James ; HOLMES, David. A Linguagem de Programação Java, 4ª edição, Bookman, 2007.  <http://online.minhabiblioteca.com.br/books/9788560031610>.
 ROMAN, Ed; AMBLER, Scott W.; JEWELL, Tyler . Dominando Enterprise Javabeans, 2ª Edição, 2004. Minha Biblioteca. Web. 20 November 2013 <http://online.minhabiblioteca.com.br/books/9788577804061>.
 BARNES, D.; KÖLLING, Michael. Programação orientada a objetos com Java: uma introdução prática usando o Blue J. São Paulo: Pearson Prentice Hall, 2004. 368 p. + 1 CD-ROM ISBN 8776050129. Número de Chamada: 005.133 B261p
Bibliografia
12
Plano de Ensino
 
12
 Bibliografia complementar
BRAUDE, Eric . Projeto de Software: Da programação à arquitetura: Uma abordagem baseada em Java, 2005. Minha Biblioteca. Web. 20 November 2013 <http://online.minhabiblioteca.com.br/books/9788577802111>.
 GOODRICH, Michael T. ;TAMASSIA, Roberto . Estruturas de Dados e Algoritmos em Java, 4ª edição, 2011. Minha Biblioteca. Web. 20 November 2013 <http://online.minhabiblioteca.com.br/books/9788577800834>.
Bibliografia
13
Plano de Ensino
 
13
 Bibliografia complementar
Booch, G; Rumbaugh, J. ; Jacobson, I.” UML -Guia do usuário”. Editira Campus. 1999.
Cay S. ; Horstmann; Gary Cornell “ Core Java – Volume I – Fundamentals”. Sun Microsystems Press. 1999.
Cay S. ; Horstmann; Gary Cornell “ Core Java – Volume I – Fundamentals”. Sun Microsystems Press. 1999.
Deitel, H. M.; Deitel, P. J. “Java como programar”. Editora Bookman 2000.
Coad, P, Yourdon, E, Análise baseada em objetos. Editora Campus – 1992.
Coad, P, Yourdon, E, Projeto baseada em objetos. Editora Campus 1993.
Coad, P. ; Nicola, J. Object-oriented Programming. Editora Yourdon Press- 1993.
Bibliografia
14
Plano de Ensino
 
14
 Bibliografia complementar
www.caelum.com.br (java e orientação a objetos – FJ 11)
http://www.guj.com.br/ (site voltado para perguntas e respostas técnicas e objetivas na área de T.I. e programação.)
http://java.sun.com/java2/whatis/1996/storyofjava.html (História do Java)
http://java.sun.com/docs/codeconv/ (convenções do Java)
Bibliografia
15
Plano de Ensino
 
15
 Avaliação 1 ( __/__/2020)
 Avaliação 2 ( __/__/2020)
 Projeto ( __/__/2020)
 Exercício (semanal)
Datas importantes
16
16
Implementação Orientada a Objetos - IOO
 
Marcia A. S. Bissaco
Universidade de Mogi das Cruzes
Aula 1
 
17
17
 O conteúdo desta apresentação contem também contribuições dos seguintes professores:
Danielle Martins
Pedro Toledo
Rodrigo Rocha
Créditos
18
18
 Ferramentas a serem utilizadas
Ferramentas de trabaljo
19
19
Ferramentas de trabalho
Documentação: Diagramas UML (
Implementação/execução: Linguagem java 
Editor de código: Bloco de notas ou Notepad ++
IDE: NetBeans
	Termo/Expressão	Descrição
	JRE	Java Runtime Environment. Instala a JVM para execucao de classes Java
	JDK	Java Development Kit. API para desenvolvedores. Inclui compilador
	JVM	Java Virtual Machine
Estão relacionados com as seguintes perguntas:
O que é Orientação a objetos?
O que é paradigma?
O que são classes, objetos, métodos e atributos?
Conceitos Básicos
21
Avaliação Diagnóstica
 
21
O que é Orientação a objetos?
Conceito: O termo orientação a objetos significa organizar o mundo real como uma coleção de objetos;
Conceitos Básicos
22
22
Algumas linguagens orientadas a objetos
Smalltalk;
Object Pascal (DELPHI);
C++;
C#;
Java; 
Visual Basic;
Python;
Ruby;
Objective C.
Conceitos Básicos
23
23
O que é paradigma?
Conceito: “Paradigma é um conjunto de regras que estabelecem fronteiras e descreve como resolver os problemas dentro destas fronteiras.” 
Os paradigmas influenciam nossa percepção; ajudam nos a organizar e a coordenar a maneira como olhamos para o mundo...
Conceitos Básicos
24
24
O que é paradigma?
Mudança de enfoque: 
 programação estruturada  programação Orientada a Objetos (POO)
Conceitos Básicos
25
Código fonte organizado em blocos/módulos
Functions e procedures
Execução linear
Código extenso e confuso
Goto e Gosub
Difícil reutilização de código
Abstração de entidades do mundo real em entidades de código
Quebra deum problema grande em pequenos problemas coesos
Facilidade de criação / manutenção
Focado em reuso
25
O que é paradigma?
Mudança de enfoque: 
 programação estruturada  programação Orientada a Objetos (POO)
Conceitos Básicos
26
	Linguagens Orientadas a Objetos	Linguaguens Tradicionais 
	Objeto	Valor
	Classe	Tipo 
	Mensagem	Chamada de Procedimento
	Método	Procedimento ou Função
26
O que é paradigma?
Mudança de enfoque: 
 programação estruturada  programação Orientada a Objetos (POO)
 
Conceitos Básicos
27
Foco no Sistema
Foco na Classe
27
 POO resolve todos os problemas?
Programação Estruturada resolvia?
 
 
Reflexão
28
28
O que é Objeto?
Conceito: Algo que possui características, comportamento (que estado definem um estado ao longo do tempo)
Conceitos Básicos
29
29
O que é Objeto?
Coisas tangíveis, Eventos e Transação. 
Coisas Tangíveis: Livro, Telefone ; 
Eventos: Copa do mundo, Simpósio;
Transação: Um contrato, Um pedido de compra.
Todo objeto é uma instância de uma Classe.
Conceitos Básicos
30
30
O que é Objeto?
Em IOO também podemos dizer que objetos são pacotes de software compostos de dados e procedimentos, sendo que:
procedimentos atuam sobre os dados;
dados determinam o estado do objeto.
Conceitos Básicos
31
31
O que é classe?
Conceito: uma classe é a abstração de um conjunto de objetos com características semelhantes. 
Conceitos Básicos
32
32
O que é classe?
Uma classe define o comportamento de seus objetos através de métodos e os estados possíveis destes objetos através de atributos.
De forma geral uma classe descreve os serviços providos por seus objetos e quais informações eles podem armazenar. 
Conceitos Básicos
33
33
O que é classe?
Em IOO podemos dizer que classe é uma entidade de código que abstrai uma entidade do mundo real, agrupando suas características e comportamentos comuns.
A classe associa comportamentos (métodos/funções/ações) e características (atributos/ dados/propriedades) controlando o acesso a estes. 
Classe é um tipo definido que contém o molde (a especificação) para os objetos como, por exemplo, o tipo inteiro contém o molde para as variáveis declaradas como inteiros. É um formatador de objetos.
Conceitos Básicos
34
34
Mudança de paradigma:
Exemplo: Sistema medico (Paradigma estruturado)
Conceitos Básicos
35
	Medico	Paciente	Consulta
	nome
CRM
	nome
telefone
idade	data
horario
local
	cadastrar
inativar	cadastrar
consultar	agendar
Entidades:
Características: 
Comportamentos:
35
Mudança de paradigma:
Exemplo: Sistema medico (mudando de paradigma)
Conceitos Básicos
36
	Medico	Paciente	Consulta
	nome
CRM
	nome
telefone
idade	data
horario
local
	cadastrar
inativar	cadastrar
consultar	agendar
Entidades:
Características: 
Comportamentos:
36
Mudança de paradigma:
Exemplo: Sistema médico (Paradigma Orientado a Objetos; notação UML)
Conceitos Básicos
37
Classes:
Atributos: 
Métodos:
	Medico
	nome
CRM
	cadastrar
inativar
	Consulta
	data
horario
local
	agendar
	Paciente
	nome
telefone
idade
	cadastrar
Consultar
37
 Resumindo.....
Objeto é uma instância de uma classe;
Vários objetos podem ser gerados a partir de uma classe;
O objeto tem o mesmo formato da classe que o gerou;
Os atributos recebem valores individuais, que tornam o objeto único;
Existe somente em tempo de execução.
Conceitos Básicos
38
	Consulta
	data: 10/11/2013
horario: 08:30
local: sala 6
	agendar
	Medico
	nome: João
CRM: 123456
	cadastrar
inativar
	Paciente
	nome: Maria
telefone: 4724-1234
idade: 35
	cadastrar
consultar
	Paciente
	nome: Ana
telefone: 4799-4321
idade: 42
	cadastrar
Consultar
	Medico
	nome: Jose
CRM: 123444
	cadastrar
inativar
38
Modelagem de todas as classes de um sistema
Classes codificadas em Java
Conceitos Básicos
 Quais classes poderiam ser criadas para os Sistema seguintes?
De uma escola
De uma transportadora
De uma editora de livros
Exercício para fixação
Poderiam ser criadas as classes seguintes:
De uma escola
Professor, Aluno, Disciplina, Turma, Série, Aula, Boletim, Matrícula, PlanoDeEnsino
De uma transportadora
Veículo, Motorista, Cidade, Rota, Frota, Carga, NotaFiscal
De uma editora de livros
Livro, Autor, Capítulo, Editor, Revisor, Revisão, Capa, Índice, Ilustrador, Tradutor, Edição
Exercício para fixação
 Liguagem de programação Java
Lançada em 1996, pela empresa Sun
Adquirida pela Oracle em 2009
Globalmente utilizada – 3 bilhões de dispositivos
Linguagem Compilada e Interpretada
Independência de plataforma 
Solução: Java Virtual Machine (JVM)
JRE – Java Runtime Environment
Instala a JVM para execucao de classes Java
JDK – Java Development Kit
API para desenvolvedores
Inclui compilador
NetBeans ou bloco de notas e CMD
Implementação
Usando o NetBeans
Abra o NetBeans
Crie um projeto (projAloMundo) e uma classe principal (AloMundo)
Digite o seguinte texto no corpo do método main:
System.out.println("Alo Mundo...");
Salve tudo. No diretório do NetBeans será criado um arquivo com um nome igual ao da classe.
Implementação
PROGRAMACLASSE
PROCESSOS
DADOS
ATRIBUTOS
MÉTODOS
ActorClass

Continue navegando