Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Programação Orientada a Objetos, Notas de estudo de Engenharia Informática

Programação Orientada a Objetos - Introdução a UML: Diagramas de Classe e sequência, GUI: Interface com usuário

Tipologia: Notas de estudo

2015

Compartilhado em 02/02/2015

thiago-souza-cjt
thiago-souza-cjt 🇧🇷

4.5

(34)

75 documentos

1 / 112

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Programação Orientada a Objetos
Márcio Emílio Cruz Vono de Azevedo
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe Programação Orientada a Objetos e outras Notas de estudo em PDF para Engenharia Informática, somente na Docsity!

Programação Orientada a Objetos

Márcio Emílio Cruz Vono de Azevedo

Conteúdo

• Paradigmas de programação

• Introdução à linguagem de programação

orientada a objetos

• Introdução à UML

• Diagrama de classes da UML

• Mapeamento do diagrama de classes

para linguagem de programação

Paradigmas de Programação

• Paradigma Lógico

• Paradigma Funcional

• Paradigma Imperativo

• Paradigma Estruturado

• Paradigma Procedural

• Paradigma Orientado a Objetos

Paradigma Lógico

• Linguagens de programação baseadas em

funções lógicas

• Exemplo de linguagens lógicas

– PROLOG

Paradigma Funcional

• Linguagens de programação baseadas em

funções matemáticas

• Exemplo de linguagem funcional

– LISP

• Exemplo de programação funcional

(defun fatorial (n)

(if (= n 0 )

(* n (fatorial (- n 1 )))))

Paradigma Imperativo

• Através de linguagens de programação

imperativas, o programador dá ordens para o

computador

• Exemplo de linguagem imperativa

– BASIC

• Nas linguagens imperativas, o programador pode

definir saltos de um ponto a outro do programa

• Em BASIC, saltos são implementados através do

comando GOTO (vá para)

Paradigma Estruturado

• Semelhante ao paradigma imperativo, porém

não são permitidos saltos

• Os programas utilizam três estruturas básicas

– Sequência: comandos executados em sequência

– Decisão: if/then/else, switch/case etc.

– Repetição: while, for, do/while etc.

• Exemplos de linguagens estruturadas

– C, Pascal

Exemplo de Programação Estruturada

int n, first = 0 , second = 1 , next, c; printf("Enter the number of terms \n "); scanf("%d",&n); printf("First %d terms of Fibonacci series are :- \n ",n); for ( c = 0 ; c < n ; c++ ) { if ( c <= 1 ) next = c; else { next = first + second; first = second; second = next; } printf("%d \n ",next); }

Paradigma Orientado a Objetos

• Linguagens de programação que utilizam objetos

• Tentam trazer objetos do mundo real para a linguagem de

programação

• Baseado em classes e objetos

– Classes: estruturas onde são definidos os estados e o

comportamento dos objetos

– Objetos: instâncias de uma classe

– Uma vez definida a classe, vários objetos podem ser instanciados

para aquela classe

– Várias classes podem ser criadas, definindo vários tipos de objetos

• Linguagens de programação orientadas a objetos

– Smalltalk, C++, Object Pascal, Java, C#, Objective-C, Ruby

Exemplo de Programação Orientada a Objetos import javax.swing.JOptionPane; public class OddEven { private int input; public OddEven() { } public static void main( final String[] args) { OddEven number = new OddEven(); number.showDialog(); } public void showDialog() { try { this .input = Integer.parseInt(JOptionPane.showInputDialog("Please enter a number.")); this .calculate(); } catch ( final NumberFormatException e) { System.err.println("ERROR: Invalid input. Please type in a numerical value."); } } private void calculate() { if (( this .input % 2 ) == 0 ) { JOptionPane.showMessageDialog( null , "Even"); } else { JOptionPane.showMessageDialog( null , "Odd"); } } }

Conceitos de Orientação a Objetos

  • (^) Encapsulamento
    • (^) Primeira definição:
      • (^) Descrever em um determinado objeto apenas as características que sejam pertinentes ao objeto em questão.
      • (^) Exemplo
        • (^) um aluno está matriculado em um curso. As características do aluno devem ser descritas no objeto aluno e as características do curso devem ser descritas no objeto curso. » (^) Obs.: Existem mecanismos para associar um objeto aluno a um objeto curso que veremos posteriormente.

Conceitos de Orientação a Objetos

  • (^) Encapsulamento
    • (^) Segunda definição
      • (^) As características que representam o estado de um objeto devem ser protegidas de acesso externo. O estado do objeto somente será alterado internamente pelo comportamento definido para este objeto.
      • (^) Exemplo:
        • (^) A “velocidade” é um possível elemento de estado de um objeto carro. Não se deve permitir que a “velocidade” seja alterada diretamente por entidades externas ao objeto em questão. Ao invés disso, poderão existir definições de comportamento como “acelerar” e “frear” que, sempre que forem invocados, irão alterar o estado atual da “velocidade”.

Conceitos de Orientação a Objetos

  • (^) Estado de um objeto
    • (^) O estado de um objeto é definido através dos valores de suas variáveis membro, ou atributos.
    • (^) Os atributos do objeto são declarados na definição da classe.
  • (^) Comportamento de um objeto
    • (^) O comportamento de um objeto é definido através de suas funções membro, ou operações.
    • (^) As operações do objeto são declaradas na definição da classe.

Conceitos de Orientação a Objetos

  • (^) Objetos
    • (^) O objeto é uma instância de uma classe. Por exemplo, a classe “Cadeira” define as características de uma cadeira, mas a cadeira em que você está sentado é um objeto, ou seja, uma instância da classe “Cadeira”. A cadeira em que seu colega está sentado é uma outra instância da mesma classe “Cadeira”.
    • (^) Apesar dos atributos que representam o estado de um objeto estar definido na classe, é no objeto que eles definem seus valores específicos. Por exemplo, a classe “Aluno” define o atributo “idade”, mas cada objeto da classe “Aluno” terá um valor diferente para seu atributo “idade”.