Upload
doannhan
View
214
Download
0
Embed Size (px)
Citation preview
Prof José Rui1. Introdução e Conceitos básicos
Sumário
Capítulo 1 – Introdução e Conceitos básicos
1.1 Modelos
1.2 Tipos primitivos de dados
1.3 Tipo Abstrato de dados
1.4 Orientação a Objetos
1.4.1 Classe
1.4.2 Objetos
1.4.3 Métodos e atributos
1.4.4 Encapsulamento
Prof José Rui1. Introdução e Conceitos básicos
Tipo Abstrato de Dados
ExercícioExercício
● Crie um Tipo Abstrato de Dado com o modelo de pessoa
● Crie três variáveis do tipo pessoa e inicialize seus campos...
1 struct {23456 }78 int main(){91011121314151617 return 0;
18 }
Código c++
Pessoa
Prof José Rui1. Introdução e Conceitos básicos
Tipo Abstrato de Dados
ExercícioExercício
● Crie um Tipo Abstrato de Dado com o modelo de pessoa
● Crie três variáveis do tipo pessoa e inicialize seus campos...
1 struct Pessoa{2 char[15] nome;3 char sexo;4 int idade;5 bool temBigode;6 bool usaOculos;7 }89 int main(){10 Pessoa p1, p2, p3;11 p1.nome = “José”;12 p1.sexo = 'm';13 p1.idade = 18;14 p1.temBigode = false;15 p1.usaOculos = false;16 ...17 return 0;
18 }
Código c++
Nome Sexo Idade temBigode usaOculos
Pessoa
Prof José Rui1. Introdução e Conceitos básicos
Tipos Abstratos de Dados - JAVA
● Em Java não podemos criar um novo tipo com struct
1 struct Pessoa{2 char[15] nome;3 char sexo;4 int idade;5 bool temBigode;6 bool usaOculos;7 }8
Código c++
Prof José Rui1. Introdução e Conceitos básicos
Tipos Abstratos de Dados - JAVA
● Em Java não podemos criar um novo tipo com struct
● Devemos fazer por meio de uma classe
1 struct Pessoa{2 char[15] nome;3 char sexo;4 int idade;5 bool temBigode;6 bool usaOculos;7 }8
Código c++
1 class Pessoa{2 //atributos3 private string nome;4 private char sexo;5 private int idade;6 private bool temBigode;7 private bool usaOculos;89 public Pessoa(){ //construtor11 this.nome = “”;12 this.sexo = '';13 this.idade = 0;14 this.temBigode = false;15 this.usaOculos = false;16 }17 }
Java
Prof José Rui1. Introdução e Conceitos básicos
Tipos Abstratos de Dados - JAVA
● Em Java não podemos criar um novo tipo com struct
● Devemos fazer por meio de uma classe
1 struct Pessoa{2 char[15] nome;3 char sexo;4 int idade;5 bool temBigode;6 bool usaOculos;7 }8
Código c++
This é opcionalThis é opcional
1 class Pessoa{2 //atributos3 private string nome;4 private char sexo;5 private int idade;6 private bool temBigode;7 private bool usaOculos;89 public Pessoa(){ //construtor11 this.nome = “”;12 this.sexo = '';13 this.idade = 0;14 this.temBigode = false;15 this.usaOculos = false;16 }17 }
Java
Prof José Rui1. Introdução e Conceitos básicos
Tipos Abstratos de Dados - JAVA
● Em Java não podemos criar um novo tipo com struct
● Devemos fazer por meio de uma classe
1 struct Pessoa{2 char[15] nome;3 char sexo;4 int idade;5 bool temBigode;6 bool usaOculos;7 }8
Código c++
Por enquanto não preocupe com isso
Por enquanto não preocupe com isso
1 class Pessoa{2 //atributos3 private string nome;4 private char sexo;5 private int idade;6 private bool temBigode;7 private bool usaOculos;89 public Pessoa(){ //construtor11 this.nome = “”;12 this.sexo = '';13 this.idade = 0;14 this.temBigode = false;15 this.usaOculos = false;16 }17 }
Java
Prof José Rui1. Introdução e Conceitos básicos
Tipos Abstratos de Dados - JAVA
● Para usar uma classe em java
– É necessário declarar
– É necessário chamar seu construtor
– Juntamente com a palavra-chave new
1 public static void Main(){23 private Pessoa p1, p2;45 p1 = new Pessoa();6 p2 = new Pessoa();78 }
Java
12 int main(){3 Pessoa p1, p2, p3;45 return 0;
6 }
C++ Declaração da variávelDeclaração da variável
Prof José Rui1. Introdução e Conceitos básicos
Tipos Abstratos de Dados - JAVA
● Para usar uma classe em java
– É necessário declarar
– É necessário chamar seu construtor
– Juntamente com a palavra-chave new
1 public static void Main(){23 private Pessoa p1, p2;45 p1 = new Pessoa();6 p2 = new Pessoa();78 }
Java
12 int main(){3 Pessoa p1, p2, p3;45 return 0;
6 }
C++
Construtor...Construtor...
Prof José Rui1. Introdução e Conceitos básicos
Tipos Abstratos de Dados - JAVA
ConstrutorConstrutor
– Tem o mesmo nome da classe
– É responsalvel pela inicialização da classe
– “Toda” classe tem
1 public static void Main(){23 private Pessoa p1, p2;45 p1 = new Pessoa();6 p2 = new Pessoa();78 }
Java
12 int main(){3 Pessoa p1, p2, p3;45 return 0;
6 }
C++
Construtor...Construtor...
1 class Pessoa{2 //atributos3 private string nome;4 private char sexo;5 private int idade;6 private bool temBigode;7 private bool usaOculos;89 public Pessoa(){ //construtor11 this.nome = “”;12 this.sexo = '';13 this.idade = 0;14 this.temBigode = false;15 this.usaOculos = false;16 }17 }
Java
Prof José Rui1. Introdução e Conceitos básicos
Tipos Abstratos de Dados - JAVA
● Para usar uma classe em java
– É necessário declarar
– É necessário chamar seu construtor
– Juntamente com a palavra-chave new
1 public static void Main(){23 private Pessoa p1, p2;45 p1 = new Pessoa();6 p2 = new Pessoa();78 }
Java
12 int main(){3 Pessoa p1, p2, p3;45 return 0;
6 }
C++
Construtor...Construtor...
● Feito isso, p1 e p2 estão prontos para serem usados
● Note que é diferente da abordagem struct
● Feito isso, p1 e p2 estão prontos para serem usados
● Note que é diferente da abordagem struct
Prof José Rui1. Introdução e Conceitos básicos
Orientação a objetos
ParadigmaParadigma
● Definição: É a filosofia adotada na construção de software
Prof José Rui1. Introdução e Conceitos básicos
Orientação a objetos
ParadigmaParadigma
● Definição: É a filosofia adotada na construção de software
● O paradigma OO:
– Minimiza a distância entre a modelagem computacional e o mundo real
– Tenta solucionar problemas complexos existentes
● Com desenvolvimento menos complexos
● Com baixo custo de desenvolvimento
● Com baixo custo de manutenção
● E confiáveis
Prof José Rui1. Introdução e Conceitos básicos
Orientação a objetos
ParadigmaParadigma
● Definição: É a filosofia adotada na construção de software
● O paradigma OO:
– Minimiza a distância entre a modelagem computacional e o mundo real
– Tenta solucionar problemas complexos existentes
● Com desenvolvimento menos complexos
● Com baixo custo de desenvolvimento
● Com baixo custo de manutenção
● E confiáveis
– Permite que objetos do mundo real sejam mapeados em Objetos no computador, pressupondo que o mundo é composto por objetos
Prof José Rui1. Introdução e Conceitos básicos
Orientação a objetos
Por que usar este paradigma?Por que usar este paradigma?
● Propicía reutilização de código
● Reduz manutenção no código
● Aumenta a qualidade e a produtividade
● Oferece maiores facilidades ao desenvolvedor
● Requisito obrigatório no mercado
Prof José Rui1. Introdução e Conceitos básicos
Orientação a objetos
DefiniçãoDefinição
● É uma forma de entender e representar sistemas complexos como estruturas hierárquicas de objetos que se relacionam
Prof José Rui1. Introdução e Conceitos básicos
Orientação a objetos
ConceitosConceitos
● Classe
● Objeto ou instância
● Encapsulamento
● Herança
● Polimorfismo
Prof José Rui1. Introdução e Conceitos básicos
Classe
DefiniçãoDefinição
● É a implementação de tipo abstrato de dados (TAD) no paradigma orientado a objetos.
● Uma classe é um molde para a criação de objetos
● É uma estrutura que abstrai um conjunto de objetos com características similares
● Uma classe é definida por:
– Métodos: o comportamento de seus objetos
– Atributos: os estados possíveis destes objetos
Prof José Rui1. Introdução e Conceitos básicos
Classe
ExemplosExemplosClasse Pessoa
Objeto “Jose” Objeto “Maria”
Prof José Rui1. Introdução e Conceitos básicos
Classe
ExemplosExemplosClasse Pessoa
Objeto “Jose” Objeto “Maria”
É a entidade! Nome Sexo Idade temBigode usaOculos
Classe Pessoa
Prof José Rui1. Introdução e Conceitos básicos
Classe
Definição
● É a definição do novo tipo
● No código1 class Pessoa{2 //atributos3 private string nome;4 private char sexo;5 private int idade;6 private bool temBigode;7 private bool usaOculos;89 public Pessoa(){ //construtor11 this.nome = “”;12 this.sexo = '';13 this.idade = 0;14 this.temBigode = false;15 this.usaOculos = false;16 }17 }
Java
Classe Pessoa
Objeto “Jose” Objeto “Maria”
É a entidade!
Prof José Rui1. Introdução e Conceitos básicos
Classe
ExemplosExemplosClasse Carro
Objeto “Fusca” Objeto “Opala”
Prof José Rui1. Introdução e Conceitos básicos
Classe
ExemplosExemplosClasse Carro
Objeto “Fusca” Objeto “Opala”
É a entidade! Nome Motor Portas Ano Fabricante
Classe carro
Prof José Rui1. Introdução e Conceitos básicos
Objeto
Definição
● É a “materialização” de uma classe
● Dizemos que:
– Um objeto de uma classe é uma instância de uma classe
– Objeto = Instância
Prof José Rui1. Introdução e Conceitos básicos
Objeto
Definição
● É a “materialização” de uma classe
● Dizemos que:
– Um objeto de uma classe é uma instância de uma classe
– Objeto = Instância
1 public static void Main(){23 private Pessoa p1, p2;45 p1 = new Pessoa();6 p2 = new Pessoa();78 }
Java
No código...No código...
O que são p1 e p2 ?O que são p1 e p2 ?
Prof José Rui1. Introdução e Conceitos básicos
Objeto
Definição
● É a “materialização” de uma classe
● Dizemos que:
– Um objeto de uma classe é uma instância de uma classe
– Objeto = Instância
1 public static void Main(){23 private Pessoa p1, p2;45 p1 = new Pessoa();6 p2 = new Pessoa();78 }
Java
No código...No código...
O que são p1 e p2 ?
R: Instâncias da classe pessoa
O que são p1 e p2 ?
R: Instâncias da classe pessoa