28
Prof José Rui 1. Introdução e Conceitos básicos 1 – Introdução e Conceitos básicos Aula 02

1 – Introdução e Conceitos básicos - Departamento de Ciência da ... · 1. Introdução e Conceitos básicos Prof José Rui Sumário Capítulo 1 – Introdução e Conceitos

Embed Size (px)

Citation preview

Prof José Rui1. Introdução e Conceitos básicos

1 – Introdução e Conceitos básicosAula 02

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

Prof José Rui1. Introdução e Conceitos básicos

Orientação a objetos

Exercício

● Faça uma classe para o modelo “Roda” e outra para “Produto”

● E instâncie dois objetos para cada classe