44
Programação Orientada a Objeto Stephenson Galvão stepgalvao[arroba]gmail[ponto]com

Aula1.pdf

Embed Size (px)

Citation preview

  • Programao Orientada a Objeto

    Stephenson Galvo

    stepgalvao[arroba]gmail[ponto]com

  • Roteiro

    Paradigmas de programao Modelos Abstrao Programao OO Objetos, classe, atributos e operaes Classes em java

  • Paradigmas de programao

    Paradigma um conjunto de regras que estabelecem fronteiras e descrevem como

    resolver os problemas dentro destas fronteiras.

    Forma de desenvolvimento de uma soluo de software.

  • Paradigmas de programao

    Alguns paradigmas Imperativo. Estrutural. Funcional. Orientado a Objetos.

  • Paradigmas de programao

    Paradigma imperativo Basea-se na arquitetura

    de Von Neumann. Mais antigo. Comando goto. Caractersticas centrais

    Variveis. Atribuies. Sequncias.

    Linguagens C, Modula-2, Pascal.

    var fat: integer;begin

    fat := 1;while (n>1) do

    beginfat := fat * n;n := n 1;

    end;fatorial := fat;

    end;

  • Paradigmas de programao

    Paradigma Estruturado Subconjuto do Imperativo. Mais utilizado. Resume-se em 3 estruturas:

    Sequncia, Deciso e Interao. Programao modular.

    Subrotinas e funes. Linguagens

    C; Pascal; Cobol

    function fatorial (n: integer):integer;var fat: integer;begin

    fat := 1;while (n>1) do

    beginfat := fat * n;n := n 1;

    end;fatorial := fat;

    end;

  • Paradigmas de programao

    Paradigma Funcional Programas como funes

    matemticas. Fatorial

    X=0, 1 X>0, X*fatorial(x-1).

    No possuem alteraes de valores

    As funes sempre devem possuir retorno.

    Linguagens Hask, LISP, Ocamel, Lambda.

    fatorial 0 = 1fatorial n = n * fatorial (n - 1)

  • Paradigmas de programao

    Paradigma Orientado a Objetos. Objetivo da disciplina. Baseada em obejtos

    Estados. Aes e Mensagens.

    Linguagens de programao: Java, C++, C#,

    Python, Smalltalk

    public Fatorial{int fat;

    public Fatorial(int fat){this.fat=fat;

    }

    public int calcular(){If (fat = 0) {

    return 1;}else

    fat--;calcular();

    }}

    }

    Programa{Fatorial fat = new Fatorial(3)fat.calcular();

    }

  • Paradigma Orientado a Objeto

    Comunidade de agentes (objetos) que interagem entre si, denominados objetos.

    Cada objeto tem um papel a cumprir. Cada objeto oferece um servio ou realiza uma ao

    que usada por outros objetos.Modelo CirculoInicio modelo

    variavel raio:Real

    funcao calcularArea(); Inicio funcao

    variavel area:Realarea = raio*raio*3,14;imprime(area);

    Fim funcaoFim modelo

    Programa AreaCirculo

    variavel circulo: Circulo

    Inicio programa

    circulo= novo objeto Circulo;circulo.raio=10;circulo.calcularArea();

    Fim programa

  • Paradigma Orientado a Objeto

    Sistemas orientado a objeto (exemplos) Viso mais realista.

  • Paradigma Orientado a Objeto

    ObjetoUm objeto uma entidade do sistema que tem caractersticas e comportamentos prprios. Podem representar entidades concretas ou abstratas.

    Exemplos:

  • Paradigma Orientado a Objeto

  • Paradigma Orientado a Objeto

    Professor Aluno Zelador Diretor Guarda

  • Modelos

    Representaes simplificadas de objetos Possuem informaes (atributos) e

    comportamentos (operaes) associados a ele.

    HardDisk

    capacidadevelocidade

    gravarDados()lerDados()

    Nome

    Operaes

    Atributos

  • Modelos

  • ModelosAluno

    nomematriculafrequencianotas

    adicionarPresenca(dia,situacao)adicionarNota(nota)calcularMedia()

  • ModelosAluno

    nomematriculafrequencianotas

    adicionarPresenca(dia,situacao)adicionarNota(nota)calcularMedia()

    Aluno

    nomematriculaalturaIdadedisciplinasCursadas

    matricularDisciplina(disciplina)cursarDisciplina(disciplina)

    Qual o modelo correto?

  • Abstrao

    Abstrao consiste de focalizar nos aspectos essenciais para o sistema inerentes a uma entidade.

    Modelar o objeto Professor na viso CCA e viso o RH

  • Modelos

    Conta Bancria

  • Modelos

    Conta Bancria

    Conta

    saldo

    deposito(valor)saque(valor)

  • Modelos

    Conta Bancriamodelo Containicio do modelo

    dado saldo;

    operacao deposito(valor)inicio

    saldo= saldo+valor;fim

    operacao saque(valor)inicio

    saldo=saldo-valor;fim

    fim do modelo

  • Modelos

    Modelo Lampada

  • Modelo

  • Modelo

  • Modelo

    Notao Distribuio vertical. Indentao horizontal (hierarquia). Comentrio = //. Cada comando termina com ;. Comparao (==), atribuio (=). Nome do Modelo

    Inicial de cada palavra maiuscula. No utilizar assentuao nem espao.

    Nome de dados e Operaes: 1 palavra inicial minuscula demais inicial maiuscula. No utilizar assentuao nem espao.

  • Modelo

  • Programao Orientado a Objeto

    Programao atravs do paradigma orientado a objeto.

    Utilizam-se de classes e objetos/instncias, criados a partir de modelos.

    Diferena de modelos p/ classes e objetos so as limitaes do computador.

    Os dados podem ser representados por modelos nativos da linguagem ou criados pelo programador.

  • Programao Orientado a Objeto

    Conceitos importantes Classes, Objetos, Instncias, Referncia e Mtodos.

    Observao: O conceito de objeto ensinado no incio da aula ser dividido em dois novos conceitos, classe e objeto/instncia.

  • Programao Orientado a Objeto

    Classe Estrutura da orientao a

    objetos para representar os modelos.

  • Programao Orientado a Objeto

    Instncias Materializao da

    classe.

  • Programao Orientado a Objeto

    Colocar valores para os dados do modelo

    Conta

    saldo

    deposito(valor)saque(valor)

    Conta do Tiago

    saldo = 1000000000

    deposito(valor)saque(valor)

    Classe Objeto ou Instncia

  • Programao Orientado a Objeto

    Referncia Forma de acessar um objeto/instncia.

    Referncia Stephenson

  • Programao Orientado a Objeto

    Reza do final da aula. Respondam Classe ou Instncia.

  • Programao Orientado a Objeto

    Pessoa? Joo? Escola? IFPI? Fusca? Carro? Porta? Quadro?

    Professor? Diretor? Darley? Stephenson? Perfil?

  • Prxima Aula

    Criando Classes em Java

  • Criando classes em java

  • Criando classes em java

    Palavra chave class seguida do nome da classe.

  • Criando classes em java

    Palavra chave class seguida do nome da classe.

    Contedo da classe limitado por chaves {}.

  • Criando classes em java

    Palavra chave class seguida do nome da classe.

    Contedo da classe limitado por chaves {}.

    Possuem campos e mtodos.

    Por conveno o nome do arquivo deve ser o mesmo nome da classe

    Conta.java

  • Criando classes em java

    Observaes Nome de classes no devem conter espaos e devem ser

    iniciados por letras ( _ e $ so letras).

    Aluno, _Aluno, $Aluno, 1Aluno. Caracteres maisculos e minsculos so diferentes.

    Aluno, aluno, class, Class. Nomes de classes no podem ser iguais as palavras

    reservadas.

    class Por conveno nome de classes comea com o caractere

    maisculo e alternam entre palavras

    ContaBancaria, AlunoIFPI, CadastroBolsista.

  • Criando classes em java(campos)

    Campos de classe so declarados dentro do corpo da classe.

    Podem ser dados nativos ou objetos criados pelo programador.

    tipo-ou-classe nome-campo Por conveno os campos.

    iniciam com o primeiro caractere minsculo.

  • Criando classes em java(campos)

    Tabela de tipos bsicosTipos Valores

    boolean false ou true

    char 0 a 65535

    byte -128 a 127

    short -32768 a 32767

    int - 2.147.483.648 a 2.147.483.647

    long -9223372036854775808 e 9223372036854775807

    float 1.40129846432481707 e -45 e 3.40282346638528860 e +38

    double 4.94065645841246544 e -324 e 1.79769313486231570 e +308

  • Criando classes em java(mtodos)

    Mtodos refletem a ao efetuada nos campos da classes ou argumentos passados

    Tipo-retorno nome-metodo(lista-de-argumentos)

    Retorno pode ser void.

  • Dvidas

    ?

    Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34Slide 35Slide 36Slide 37Slide 38Slide 39Slide 40Slide 41Slide 42Slide 43Slide 44