1 Introdução e Conceitos básicos Aula 02
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
Tipo Abstrato de Dados Exercício Crie um Tipo Abstrato de Dado com o modelo de pessoa Crie três variáveis do tipo pessoa e inicialize seus campos... Código c++ Pessoa 1 struct { 2 3 4 5 6 } 7 8 int main(){ 9 10 11 12 13 14 15 16 17 return 0; 18 }
Tipo Abstrato de Dados Exercício Crie um Tipo Abstrato de Dado com o modelo de pessoa Crie três variáveis do tipo pessoa e inicialize seus campos... Código c++ Pessoa Nome Sexo Idade tembigode usaoculos 1 struct Pessoa{ 2 char[15] nome; 3 char sexo; 4 int idade; 5 bool tembigode; 6 bool usaoculos; 7 } 8 9 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 }
Tipos Abstratos de Dados - JAVA Em Java não podemos criar um novo tipo com struct Código c++ 1 struct Pessoa{ 2 char[15] nome; 3 char sexo; 4 int idade; 5 bool tembigode; 6 bool usaoculos; 7 } 8
Tipos Abstratos de Dados - JAVA Em Java não podemos criar um novo tipo com struct Devemos fazer por meio de uma classe Código c++ 1 struct Pessoa{ 2 char[15] nome; 3 char sexo; 4 int idade; 5 bool tembigode; 6 bool usaoculos; 7 } 8 Java 1 class Pessoa{ 2 //atributos 3 private string nome; 4 private char sexo; 5 private int idade; 6 private bool tembigode; 7 private bool usaoculos; 8 9 public Pessoa(){ //construtor 11 this.nome = ; 12 this.sexo = ''; 13 this.idade = 0; 14 this.tembigode = false; 15 this.usaoculos = false; 16 } 17 }
Tipos Abstratos de Dados - JAVA Em Java não podemos criar um novo tipo com struct Devemos fazer por meio de uma classe Código c++ 1 struct Pessoa{ 2 char[15] nome; 3 char sexo; 4 int idade; 5 bool tembigode; 6 bool usaoculos; 7 } 8 Java 1 class Pessoa{ 2 //atributos 3 private string nome; 4 private char sexo; 5 private int idade; 6 private bool tembigode; 7 private bool usaoculos; 8 9 public Pessoa(){ //construtor 11 this.nome = ; 12 this.sexo = ''; 13 this.idade = 0; 14 this.tembigode = false; 15 this.usaoculos = false; 16 } 17 } This This é opcional
Tipos Abstratos de Dados - JAVA Em Java não podemos criar um novo tipo com struct Devemos fazer por meio de uma classe Código c++ 1 struct Pessoa{ 2 char[15] nome; 3 char sexo; 4 int idade; 5 bool tembigode; 6 bool usaoculos; 7 } 8 Por Por enquanto não não preocupe com com isso isso Java 1 class Pessoa{ 2 //atributos 3 private string nome; 4 private char sexo; 5 private int idade; 6 private bool tembigode; 7 private bool usaoculos; 8 9 public Pessoa(){ //construtor 11 this.nome = ; 12 this.sexo = ''; 13 this.idade = 0; 14 this.tembigode = false; 15 this.usaoculos = false; 16 } 17 }
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 C++ 1 2 int main(){ 3 Pessoa p1, p2, p3; 4 5 return 0; 6 } Java 1 public static void Main(){ 2 3 private Pessoa p1, p2; 4 5 p1 = new Pessoa(); 6 p2 = new Pessoa(); 7 8 } Declaração da da variável
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 C++ 1 2 int main(){ 3 Pessoa p1, p2, p3; 4 5 return 0; 6 } Java 1 public static void Main(){ 2 3 private Pessoa p1, p2; 4 5 p1 = new Pessoa(); 6 p2 = new Pessoa(); 7 8 } Construtor...
Tipos Abstratos de Dados - JAVA Construtor Tem o mesmo nome da classe É responsalvel pela inicialização da classe Toda classe tem Java 1 class Pessoa{ 2 //atributos 3 private string nome; 4 private char sexo; 5 private int idade; 6 private bool tembigode; 7 private bool usaoculos; 8 9 public Pessoa(){ //construtor 11 this.nome = ; 12 this.sexo = ''; 13 this.idade = 0; 14 this.tembigode = false; 15 this.usaoculos = false; 16 } 17 } C++ 1 2 int main(){ 3 Pessoa p1, p2, p3; 4 5 return 0; 6 } Java 1 public static void Main(){ 2 3 private Pessoa p1, p2; 4 5 p1 = new Pessoa(); 6 p2 = new Pessoa(); 7 8 } Construtor...
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 Feito isso, p1 e p2 estão prontos para serem usados Feito isso, p1 e p2 estão prontos para serem usados Note que é diferente da abordagem struct Note que é diferente da abordagem struct C++ 1 2 int main(){ 3 Pessoa p1, p2, p3; 4 5 return 0; 6 } Java 1 public static void Main(){ 2 3 private Pessoa p1, p2; 4 5 p1 = new Pessoa(); 6 p2 = new Pessoa(); 7 8 } Construtor...
Orientação a objetos Paradigma Definição: É a filosofia adotada na construção de software
Orientação a objetos Paradigma 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
Orientação a objetos Paradigma 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
Orientação a objetos 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
Orientação a objetos Definição É uma forma de entender e representar sistemas complexos como estruturas hierárquicas de objetos que se relacionam
Orientação a objetos Conceitos Classe Objeto ou instância Encapsulamento Herança Polimorfismo
Classe Definiçã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
Classe Exemplos Classe Pessoa Objeto Jose Objeto Maria
Classe Exemplos Classe Pessoa É a entidade! Classe Pessoa Nome Sexo Idade tembigode usaoculos Objeto Jose Objeto Maria
Classe Definição É a definição do novo tipo No código Classe Pessoa É a entidade! Java 1 class Pessoa{ 2 //atributos 3 private string nome; 4 private char sexo; 5 private int idade; 6 private bool tembigode; 7 private bool usaoculos; 8 9 public Pessoa(){ //construtor 11 this.nome = ; 12 this.sexo = ''; 13 this.idade = 0; 14 this.tembigode = false; 15 this.usaoculos = false; 16 } 17 } Objeto Jose Objeto Maria
Classe Exemplos Classe Carro Objeto Fusca Objeto Opala
Classe Exemplos Classe Carro É a entidade! Classe carro Nome Motor Portas Ano Fabricante Objeto Fusca Objeto Opala
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
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 Java 1 public static void Main(){ 2 3 private Pessoa p1, p2; 4 5 p1 = new Pessoa(); 6 p2 = new Pessoa(); 7 8 } No No código... O que que são são p1 p1 e p2 p2?
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 Java 1 public static void Main(){ 2 3 private Pessoa p1, p2; 4 5 p1 = new Pessoa(); 6 p2 = new Pessoa(); 7 8 } No No código... O que que são são p1 p1 e p2 p2? R: R: Instâncias da da classe classe pessoa pessoa
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