Engenharia da Computação Prof. Cícero Quarto POO PROGRAMAÇÃO ORIENTADA A OBJETOS. Capítulo 3. Introdução a classes e objetos

Tamanho: px
Começar a partir da página:

Download "Engenharia da Computação Prof. Cícero Quarto POO PROGRAMAÇÃO ORIENTADA A OBJETOS. Capítulo 3. Introdução a classes e objetos"

Transcrição

1 POO PROGRAMAÇÃO ORIENTADA A OBJETOS Capítulo 3 Introdução a classes e objetos 1

2 Sumário Classes, objetos, métodos e variáveis de instâncias Declarando um método com um parâmetro Tipos primitivos vs. Tipos por referência Declarando uma classe com um método e instanciando um objeto de uma classe Variáveis de instância, métodos sete get Inicializando objetos com construtores Números de ponto flutuante e tipo double Estudo de caso de GUI e imagens gráficas utilizando caixas de diálogo 2

3 Classes, objetos, métodos e variáveis de instância O que é uma classe na LPOO? Conjunto de objetos com características afins; Define o comportamento dos objetos através de seus métodos, e quais estados ele é capaz de manter através de seus atributos. Classes objetos atributos métodos Exemplo: Os seres humanos 3

4 Classes, objetos, métodos e variáveis de instância Para ajudar a entender classese seu conteúdo, consideremos o contexto abaixo: Suponha que você queira guiar um carro e fazê-lo andar mais rápido pisando no pedal acelerador. O que deve acontecer antes que você possa fazer isso? Alguém tem que projetá-lo (desenho de engenharia, semelhantes às plantas utilizadas para projetar uma casa). Os desenhos de engenharia incluem o projeto de um pedal acelerador para aumentar a velocidade do carro. O pedal acelerador oculta do motorista os complexos mecanismos que realmente fazem o carro ir mais rápido, assim como o pedal de freio oculta os mecanismos que diminuem a velocidade do carro e a direção oculta os mecanismos que mudam a direção do carro. Isso permite que as pessoas com pouco ou nenhum conhecimento de como os motores funcionam dirijam um carro facilmente. 4

5 Classes, objetos, métodos e variáveis de instância O carro acelerará por conta própria? 5

6 Classes, objetos, métodos e variáveis de instância O carro acelerará por conta própria? Introdução aos conceitos da POO 6

7 Classes, objetos, métodos e variáveis de instância Para realizar uma tarefa em um programa é necessário um método. O método descreve os mecanismos que realmente realizam suas tarefas. O método oculta de seu usuário as tarefas complexas que ele realiza, assim como o pedal acelerador de um carro oculta do motorista os complexos mecanismos que fazem o carro andar mais rápido. Em Java, primeiro criamos uma unidade de programa chamada classepara abrigar um método, assim como os desenhos de engenharia do carro abrigam o projeto de um pedal acelerador. 7

8 Classes, objetos, métodos e variáveis de instância Em uma classe, você fornece um ou mais métodos que são projetados para realizar as tarefas da classe. Exemplo: uma classe que representa uma conta bancáriapoderia conter um métodopara fazer depósitosde dinheiro em uma conta, outro para fazer saquese um terceiro para perguntar qual é o saldo atual. Assim como você não pode dirigir um desenho de engenharia de um carro, você não pode dirigir uma classe. Assim como alguém tem de construir um carro a partir de seus desenhos de engenharia antes de poder realmente guiar o carro, você deve construir um objeto de uma classe antes de fazer um programa realizar as tarefas que a classe descreve como fazer. 8

9 Classes, objetos, métodos e variáveis de instância Ao dirigir um carro, o ato de pressionar o acelerador envia uma mensagem para o carro realizar uma tarefa isto é, fazer o carro andar mais rápido. De maneira semelhante, você envia mensagens para um objeto cada mensagem é implementada como uma chamada de método que instrui um método do objeto a realizar sua tarefa. Um carro, além de suas capacidades, também tem muitos atributos, como cor, número de portas, a quantidade de gasolina no tanque, a velocidade atual e o total de quilômetros percorridos. Cada carro mantém seus próprios atributos. 9

10 Classes, objetos, métodos e variáveis de instância Um objeto tem atributos que são carregados com o objeto quando ele é utilizado em um programa. Os atributos do objeto são especificados como parte da classe do objeto. Por exemplo, um objeto conta bancária tem um atributo saldo que representa a quantidade de dinheiro na conta. Cada objeto conta bancária sabe o saldo da conta que ele representa, mas não sabe os saldos de outras contas no banco. Os atributos são especificados pelas variáveis de instância da classe. 10

11 Classes, objetos, métodos e variáveis de instância Resumo dos exemplos para demonstrar os conceitos de OO 1. O primeiro exemplo apresenta uma classe GradeBook com um método que simplesmente exibe uma mensagem de boas-vindas quando é chamado. Então é mostrado como criar um objeto dessa classe e chamar o método para ele exibir a mensagem de boas-vindas. 2. O segundo exemplo aprimora o primeiro para permitir ao método receber o nome de um curso como argumento e exibe o nome como parte da mensagem de boas-vindas. 3. O terceiro exemplo mostra como armazenar o nome do curso em um objeto GradeBook. Para essa versão da classe, é mostrado como utilizar métodos para configurar o nome do curso e obter seu nome. 11

12 Classes, objetos, métodos e variáveis de instância Resumo dos exemplos para demonstrar os conceitos de OO 4. O quarto exemplo demonstra como os dados em um objeto GradeBook podem ser inicializados quando o objeto é criado. O último exemplo apresenta uma classe Account que reforça os conceitos apresentados nos quatro primeiros exemplos e introduz número de ponto flutuante. A classe Account representa uma conta bancária e mantém seu saldo como um número de ponto flutuante. A classe contém dois métodos um que credita um depósito à conta, aumentando assim o saldo, e outro número que recupera o saldo. 12

13 Classes, objetos, métodos e variáveis de instância Resumo dos exemplos para demonstrar os conceitos de OO O construtor da classe permite que o saldo de cada objeto Account seja inicializado quando o objeto é criado. São criados dois objetos Account e são feitos depósitos em cada um para mostrar que cada objeto mantém seu próprio saldo. O exemplo também demonstra como inserir e exibir números de ponto flutuante. 13

14 Declarando uma classe com um método e instanciando um objeto de uma classe Em seções anteriores, aprendeu-se como criar um objeto da classe Scannere, então, utilizar esse objeto para ler dados a partir do teclado. Nesta seção, criar-se-á uma nova classe e usar-se-á para criar um objeto. Iniciaremos com um exemplo que consiste em classes GradeBook (Figura 3.1) e GradeBookTest(Figura 3.2). A classe GradeBook (declarada no arquivo GradeBook.java) será utilizada para exibir uma mensagem na tela (Figura 3.2) que dá boas-vindas ao instrutor do aplicativo livro de notas. 14

15 A classe GradeBook A declaração de classe GradeBook (Figura 3.1) contém um métododisplaymessage (linha 17) que exibe uma mensagem na tela. Lembre-se que uma classeé como uma planta arquitetônica precisamos criar um objeto dessa classe e chamar seu método para executar a linha 18 e exibir a mensagem. Figura 3.1 Declaração de classe com um método. 15

16 Comentando o código da classe GradeBook Declaração de classe inicia na linha 15; A palavra-chave publicé um modificador de acesso; Par de chaves { e } corpo de cada classe (linhas 15-22); A declaração do método começa com a palavra-chave public(linha 17) para indicar que o método está disponível para o público ele pode ser chamado a partir de métodos de outras classes. Figura 3.1 Declaração de classe com um método. 16

17 Comentando o código da classe GradeBook Palavra-chave void(linha 17) especifica o tipo de retorno do método, que define o tipo de dados que o método retorna depois de realizar sua tarefa; O tipo de retorno voidindica que esse método (linha 17) realizará uma tarefa, mas não retornará (isto é, devolverá) nenhuma informação para seu método chamadorao completar sua tarefa; Figura 3.1 Declaração de classe com um método. 17

18 Comentando o código da classe GradeBook O nome do método, displaymessage, segue o tipo de retorno (linha 17); Por convenção, os nomes de método iniciam com a primeira letra minúscula e as palavras subsequentes do nome iniciam com uma maiúscula; Os parênteses depois do nome do método indicam que isso é um método. Os parênteses vazios, como na linha 17, indicam que esse método não requer informações adicionais para realizar sua tarefa; Figura 3.1 Declaração de classe com um método. 18

19 Comentando o código da classe GradeBook A linha 17 é comumente referida como o cabeçalho de método; O corpo de cada método é delimitado pelas chaves esquerda e direita { e }, como nas linhas 17 20; O corpo de um método contém uma ou mais instruções que realizam a tarefa do método. No exemplo, o método contém uma instrução (linha 18) que exibe a mensagem Welcome to the GradeBook! Figura 3.1 Declaração de classe com um método. 19

20 Comentando o código da classe GradeBook A classe GradeBook não é um aplicativo Java porque não contém o método principal main, o qual inicia a execução de um aplicativo Java; Se tentarmos executar GradeBook usando o NetBeans, obteríamos uma mensagem de erro como é mostrada na figura abaixo: Como resolver o problema? Devemos declarar uma classe separada que contenha um método main Colocar um método mainna classe GradeBook 20

21 A classe GradeBookTest A declaração de classe GradeBookTest(Figura 3.2) contém o método mainque controlará a execução do aplicativo. Figura 3.2 Criando um objeto GradeBook e chamando seu método displaymessage. A declaração de classe GradeBookTest inicia na linha 14 e termina na linha 25; A classe contém somente um método GradeBookTest, que é típico de muitas classes que iniciam a execução de um aplicativo Java; As linhas declaram o método main, que é um método static; Um método staticé especial, porque pode ser chamado sem primeiro criar um objeto da classe em que o método é declarado. 21

22 Comentando a classe GradeBookTest Na classe GradeBookTest, gostaríamos de chamar o método displaymessage da classe GradeBook (Figura 3.1) para exibir a mensagem de boas-vindas na janela de comando; Em geral, não podemos chamar um método que pertence a outra classe até que seja criado um objeto dessa classe, como mostrado na linha 18 da Figura 3.2. Figura 3.1 Declaração de classe com um método. 22

23 Comentando a classe GradeBookTest Linha 18 declaração da variável mygradebook, que é do tipo GradeBook a classe que foi declarada na Figura 3.1; A variável mygradebook é inicializada com o resultado da expressão de criação de instância de classe new GradeBook(). Figura 3.2 Criando um objeto GradeBook e chamando seu método displaymessage. Assim como podemos usar o objeto System.outpara chamar os métodosprint, printfe println, também podemos usar o objeto mygradebookpara chamar o método displaymessage; A instrução da linha 21 mygradebook.displaymessage() ;é uma chamada de método, fazendo com que o método displaymessage realize sua tarefa. 23

24 Diagrama de classes UML para a classe GradeBook A Figura 3.3 apresenta um diagrama de classes UML para a classe GradeBook da Figura 3.1. GradeBook + displaymessage() Figura 3.3 Diagrama de classe UML indicando que a classe GradeBook tem uma operação public displaymessage. 24

25 Diagrama de classes UML para a classe GradeBook Na UML, cada classe é modelada em um diagrama de classe como um retângulo com três compartimentos. GradeBook + displaymessage() Figura 3.3 Diagrama de classe UML indicando que a classe GradeBook tem uma operação public displaymessage. O compartimento está vazio porque essa classe GradeBook não tem nenhum atributo. Contém o nomeda classe centralizado horizontalmente no tipo negrito Compartimento superior Compartimento do meio Compartimento inferior Contém os atributosda classe (variáveis de instâncias) em Java Contém as operaçõesda classe, que correspondem aos métodos em Java 25

26 Comentando o Diagrama de classes UML para a classe GradeBook A UML modela operações listando o nome da operação precedido por um modificador de acesso (nesse caso +) e seguido por um conjunto de parênteses (ver Figura 3.3); A classe GradeBook tem um método, displaymessage, então o compartimento inferior da Figura 3.3 lista uma operação com esse nome; O método displaymessage não requer informações adicionais para executar suas tarefas, portanto os parênteses depois do nome do método no diagrama de classe estão vazios; 26

27 Comentando o Diagrama de classes UML para a classe GradeBook O sinal de adição ( + ) na frente do nome da operação indica que displaymessageé uma operação publicna UML (isto é, um método publicno Java). Usaremos com freqüência os diagramas de classe UML para resumir os atributos e as operações de uma classe Java. GradeBook + displaymessage() Figura 3.3 Diagrama de classe UML indicando que a classe GradeBook tem uma operação public displaymessage. 27

28 Declarando um método com um parâmetro Em analogia com o carro, discutimos o fato de que pressionar o acelerador de um carro envia uma mensagem para ele realizar uma tarefa fazer o carro andar mais rápido. Mas quanto o carro deve acelerar? Quanto mais pressionarmos o pedal, mais rápido o carro irá acelerar; Então a mensagem para o carro na verdade inclui a tarefa a ser realizadae informações adicionais que ajudam o carro a executar essa tarefa. Essas informações adicionais são conhecidas como parâmetro o valor do parâmetro ajuda o carro a determinar com que rapidez acelerar. 28

29 Declarando um método com um parâmetro De maneira semelhante, um método pode exigir um ou mais parâmetros que representam informações adicionais necessárias para realizar a tarefa; Os parâmetros são definidos em uma lista de parâmetrosseparados por vírgula, que está localizada nos parênteses depois do nome do método; Todo parâmetro deve especificar um tipoe um identificador; A lista de parâmetros pode conter qualquer número de parâmetros, inclusive nenhum parâmetro; Os parênteses vazios que se seguem ao nome de método indicam que um método não requer nenhum parâmetro. 29

30 Declarando um método com um parâmetro Uma chamada de método fornece valores chamados argumentos para cada um dos parâmetros do método; Por exemplo, o método System.out.println exige um argumento que especifica que dados enviar para a saída em uma janela de comando; De maneira semelhante, para fazer um depósito em uma conta bancária, um método deposit especifica um parâmetro que representa a quantidade de depósito; Quando o método deposit é chamado um valor de argumento que representa a quantidade de depósito é atribuído ao parâmetro do método. O método então faz um depósito dessa quantia. 30

31 Laboratório -declarando um método com um parâmetro Ferramenta: NetBeans IDE 7.0 Declarar uma classe GradeBook2 com um método displaymessage que exibe o nome do curso como parte da mensagem de boas-vindas. O novo método displaymessage requer um parâmetro que representa o nome do curso a ser enviado para a saída. 31

32 Saída do programa Figura 3.5 Criando um objeto GradeBook2 e passando uma String ao seu método displaymessage. 32

33 Comentando as classes GradeBook2 e GradeBook2Test Figura 3.4 Classe GradeBook2 Figura 3.5 Classe GradeBook2Test 33

34 Comentando as classes GradeBook2 e GradeBook2Test Linha 24: System.out.println( Please enter the course name: ); exibe um prompt que pede para o usuário inserir o nome do curso; Linha 25: String nameofcourse = input.nextline( ); mostra o nome do usuário e o atribui à variável nameofcourse, utilizando o método Scanner nextlinepara realizar a tarefa; Linha 30: mygradebook2.displaymessage( nameofcourse ); chama o método displaymessage de mygradebook. A variável nameofcourseentre parênteses é o argumento que é passado ao método displaymessage para o método realizar sua tarefa. 34

35 Mais sobre argumentos e parâmetros Na Figura 3.4, a lista de parâmetros de displaymessage (linha 15) public void displaymessage( String coursename) { declara um parâmetro indicando que o método requer uma String para executar sua tarefa. Quando o método é chamado, linha 30 (Figura 3.5), mygradebook2.displaymessage( nameofcourse );, o valor de argumento na chamada é atribuído ao parâmetro correspondente (nesse caso, coursename) no cabeçalho do método (linha 15) da Figura 3.4; Public void displaymessage( String coursename ){; O número de argumentos em uma chamada de método deve corresponder ao número de parâmetros na lista de parâmetros da declaração do método. 35

36 Diagrama de classes UML para a classe GradeBook2 O diagrama de classe UML da Figura 3.6 modela a classe GradeBook2 da Figura 3.4. Como a Figura 3.3, essa classe GradeBook2 contém displaymessage, uma operação public e um parâmetro. A UML modela um parâmetro de um modo pouco diferente do Java listando o nome de parâmetro, seguido por dois pontos e pelo tipo de parâmetro nos parênteses que seguem o nome da operação; GradeBook2 Figura 3.6 Diagrama de classe UML indicando que a classe GradeBook2 tem uma operação displaymessage com um parâmetro coursename de tipo UML String. + displaymessage( coursename: String) 36

37 Variáveis de instância, métodos set e get Nos exemplos já vistos, declaramos todas as variáveis de um aplicativo no método main do aplicativo. As variáveis declaradas no corpo de um método particular são conhecidas como variáveis locaise só podem ser utilizadas nesse método. Um objeto tem atributos que são carregados com o objeto quando ele é utilizado em um programa. Os atributos de um objeto existem antes de um método ser chamado em um objeto e depois de o método completar a execução. Os atributos são representados como variáveis em uma declaração de classe. 37

38 Instância da Instâncias classe da classe Classe Cadeira Objetos (material, braço, cor, tipo, etc) Atributos (madeira, plano, verde, diretor) Métodos (displaycor) Campos: variáveis que representam atributosde um objeto em uma declaração de classe, mas fora do corpo das declarações de método da classe; Variáveis de instâncias: campos que representam as cópias dos atributos de um objeto. Um exemplo nessa seção demonstra uma classe GradeBookque contém uma variável de instância coursenamepara representar o nome do curso de um objeto GradeBook particular. 38

39 Classe GradeBook3 com uma variável de instância, um método sete um método get No próximo aplicativo (Figuras 3.7 e 3.8), a classe GradeBook3 (Figura 3.7) mantém o nome do curso como uma variável de instância para que ele possa ser utilizado ou modificado a qualquer hora durante a execução de um aplicativo; A classe contém três métodos setcoursename, getcoursename e displaymessage; método setcoursename armazena o nome de um curso de um GradeBook3; método getcoursename obtém o nome do curso de um GradeBook3; método displaymessage exibe uma mensagem de boas-vindas que inclui o nome do curso. O método obtém o nome do curso chamando outro método na mesma classe getcoursename. 39

40 Comentando a classe GradeBook3 Figura 3.7 A classe GradeBook3 que contém uma variável de instância coursename e métodos para configurar e obter seu valor 40

41 Figura 3.7 A classe GradeBook3 que contém uma variável de instância coursenamee métodos para configurar e obter seu valor. COMENTANDO O CÓDIGO Linha 16: private String coursename; declara que coursename é uma variável de tipo String, dentro do corpo da classe, mas fora dos corpos de seus métodos; Toda instância (isto é, objeto) de classe GradeBook3 contém uma cópia de cada variável de instância. 41

42 Modificadores de acesso public e private A maioria das declarações de variável de instância é precedida pela palavra-chave private (linha 16); Como public, a palavra-chave privateé um modificador de acesso; Dessa forma, a variável coursename só pode ser utilizada nos métodos setcoursename, getcoursenamee displaymessage da classe GradeBook3; A declaração de variáveis de instância com o modificador de acesso private é conhecida como ocultamento de dados ou ocultamento de informações; Quando um programa cria (instancia) um objeto de classe GradeBook3, a variável coursename é encapsulada (ocultada) no objeto e pode ser acessada apenas por métodos da classe do objeto. 42

43 Métodos setcoursename e getcoursename Figura 3.7 A classe GradeBook3 que contém uma variável de instância coursenamee métodos para configurar e obter seu valor. O método setcoursename (linhas 19-21) não retorna quaisquer dados quando ele completa sua tarefa, portanto, seu tipo de retorno é void; O método recebe um parâmetro - name que representa o nome do curso que será passado para o método como um argumento; A linha 20 atribui name à variável de instância coursename; O método getcoursename (linhas 24-26) devolve um objeto coursename específico de GradeBook3; O método tem uma lista vazia de parâmetros, então não exige informações adicionais para realizar sua tarefa. 43

44 Métodos setcoursename e getcoursename Figura 3.7 A classe GradeBook3 que contém uma variável de instância coursenamee métodos para configurar e obter seu valor. O método getcoursename especifica (linha 25) que ele retorna uma String esse é o tipo de retorno do método; A instrução returnna linha 25 passa o valor da variável de instância coursename de volta à instrução que chama o método getcoursename; Considere, a linha 31 do método displaymessage, que chama o método getcoursename. Quando o valor é retornado, a instrução na linha 31 utiliza esse valor para gerar o nome do curso. 44

45 Laboratório Classe com uma variável de instância, um método sete um método get Ferramenta: NetBeans IDE 7.0 Crie duas classes Java ClasseLab2e ClasseLab2Teste, respectivamente, com o seguinte cenário: Você tem um método squareque retorna o quadrado de seu argumento, onde você esperaria que a instrução: int result = square( 2 ); retornasse 4 a partir do método square e atribuísse 4 à variável result. int biggest = maximum( 27, 114, 51 ); retornasse 114 a partir do método maximume atribuísse 114 à variável biggest. 45

46 O método displaymessage Figura 3.7 A classe GradeBook3 que contém uma variável de instância coursenamee métodos para configurar e obter seu valor. O método displaymessage(linhas 29-31) não retorna quaisquer dados quando ele completa sua tarefa, portanto, seu tipo de retorno é void; O método não recebe parâmetros, então, a lista de parâmetros está vazia. 46

47 A classe GradeBook3Test que demonstra a classe GradeBook3Test 47

48 A classe GradeBook3Test (Figura 3.8) cria um objeto da classe GradeBook3 e demonstra seus métodos; A linha 23 cria um objeto GradeBook3 e o atribui à variável local mygradebook3 de tipo GradeBook3; A linha 26 exibe o nome do curso inicial que chama o método getcoursename do objeto; Observe que a primeira linha de saída mostra o nome null. Diferentemente das variáveis locais, que não são automaticamente inicializadas, todo campo tem um valor inicial padrão um valor fornecido pelo Java quando você não especifica o valor inicial do campo; O valor padrão de um campo do tipo String (como coursename nesse exemplo) é null; A linha 29 exibe um prompt que pede para o usuário inserir o nome de um curso; A variável String thenamelocal (declarada na linha 30) é inicializada com o nome do curso inserido pelo usuário, que é retornado pela chamada ao método nextlinedo objeto Scanner input; A linha 31 chama o método setcoursename do objeto mygradebook3 e armazena thename como o argumento do método. 48

49 Métodos sete get Os campos privatede uma classe só podem ser manipulados pelos métodos de classe; Um cliente de um objeto isto é, qualquer classe que chama os métodos do objeto chama métodos publicda classe para manipular os campos privatede um objeto da classe; As classes costumam fornecer métodos public para permitir a clientes configurar(set, isto é, atribuir valores a) ou obter(get, isto é, obter os valores de) variáveis de instância private; Os nomes desses métodos não precisam começar com setou get, mas essa convenção de atribuição de nomes é recomendada e requerida para componentes de software Java especiais, denominados JavaBeans,que podem simplificar a programação em muitos ambientes de desenvolvimento integrado Java (Integrated Development Environments IDEs). O método que configura (set) a variável de instância coursenamenesse exemplo chama-se setcoursename e o método que obtém (get) o valor de coursename chama-se getcoursename. 49

50 Diagrama de classe UML do GradeBook3 com uma variável de instância e os métodos sete get A Figura 3.9 contém um diagrama de classe UML atualizado para a versão da classe GradeBook; Esse diagrama modela a variável de instância coursenameda classe GradeBook3 como um atributo no compartimento no meio da classe. GradeBook3 - coursename: String + setcoursename( name: String ) + getcoursename( ): String + displaymessage() Figura 3.9 O diagrama de classes UML que indica que a classe GradeBook3 tem um atributo coursenameprivado do tipo UML String e três operações públicas setcoursename(com um parâmetro name do tipo UML String, getcoursename(que retorna o tipo UML String e displaymessage. 50

51 GradeBook3 - coursename: String + setcoursename( name: String ) + getcoursename( ): String + displaymessage() Figura 3.9 O diagrama de classes UML que indica que a classe GradeBook3 tem um atributo coursenameprivado do tipo UML String e três operações públicas setcoursename(com um parâmetro name do tipo UML String, getcoursename(que retorna o tipo UML String e displaymessage. Considerações sobre o diagrama da Figura 3.9 A UML representa as variáveis de instância como atributos listando o nome do atributo, seguido por um caractere de dois-pontos e o tipo de atributo; O tipo UML do atributo coursenameé String; A variável de instância coursename é private em Java, portanto, o diagrama de classe lista um modificador de acesso com o sinal de subtração ( -) na frente do nome do atributo correspondente; A classe GradeBook3 contém três métodos public, então o diagrama de classe lista três operações no terceiro compartimento; A operação setcoursename tem um parâmetro String chamado name; A UML indica o tipo de retorno de uma operação colocando um dois-pontos e o tipo de retorno depois dos parênteses que se seguem ao nome da operação. 51

52 Tipos primitivos vs. tipos por referência Os tipos do Java são divididos em tipos primitivos e tipos por referência; Os tipos primitivos são: boolean byte char short int long float double Todos os tipos não primitivos são tipos por referência, portanto, as classes, que especificam os tipos de objeto, são tipos por referência. 52

53 Tipos primitivos vs. tipos por referência Uma variável de tipo primitivo pode armazenar exatamente um valor de seu tipo declarado por vez. Por exemplo, uma variável intpode armazenar um número inteiro (como 7) por vez; As variáveis de instância de tipo primitivo são inicializadas por padrão as variáveis dos tipos byte, char, short, int, long, floate doublesão inicializadas como 0, e as variáveis do tipo boolean são inicializadas como false; Lembre-se de que as variáveis locais não sãoinicializadas por padrão; Os programas utilizam as variáveis de tipos por referência (normalmente chamadas referências) para armazenar as localizações de objetos na memória do computador. Diz-se que tal variável referencia um objeto no programa. 53

54 Tipos primitivos vs. tipos por referência A linha 23 da Figura 3.8, GradeBook3 mygradebook3 = new GradeBook3();, cria um objeto de classe GradeBook3 e a variável mygradebook3 contém uma referência a esse objeto GradeBook3; As variáveis de instância de tipo por referência são inicializadas por padrão com um valor null uma palavra reservada que representa uma referência a nada. Essa é a razão por que a primeira chamada a getcoursename na linha 26 da Figura 3.8 retornou null o valor de coursename não foi configurado, assim o valor inicial padrão null foi retornado; Na Tabela a seguir, são mostradas as palavras reservadas e palavras-chave da linguagem Java. 54

55 Palavras reservadas e palavras-chave do Java Palavras-chave do Java abstract assert boolean break O Java também contém as palavras reservadas truee false, que são literais boolean e null, que é o literal que representa uma referência a nada. Assim como as palavras-chave, essas palavras reservadas não podem ser utilizadas como 55 identificadores. byte case catch char class continue default do double else enum extends final finally float for if implements import instanceof interface long native new package private protected public return static strictfp super switch int short synchronnized this throw throws transient try void const volatile while Palavras-chave que não são atualmente utilizadas goto

56 Inicializando objetos com construtores Como vimos, quando um objeto de classe GradeBook3 (Figura 3.7) é criado, sua variável de instância coursename é inicializada como null por padrão; E se quisermos fornecer o nome de um curso quando criarmos um objeto GradeBook3? Cada classe declarada pode fornecer um método especial chamado construtor que pode ser utilizado para inicializar um objeto desta classe, isso é um padrão Java; Um construtor deve ter o mesmo nome que a classe; A Figura 3.10 contém uma classe GradeBook4 com um construtor que inicializa um objeto desta classe. 56

57 Comentando a classe GradeBook4 As linhas 18 a 22 declaram o construtor de GradeBook4; Como um método, a lista de parâmetros de um construtor especifica os dados que ele requer para realizar sua tarefa; A linha 18 indica que o construtor tem um parâmetro String chamado name; O name passado para o construtor é atribuído à variável de instância coursenamena linha 19; A Figura 3.11 inicializa os objetos GradeBook4 utilizando o construtor. Figura 3.10 A classe GradeBook4 com um construtor para inicializar o nome do curso. 57

58 O construtor de GradeBook4 usado para especificar o nome do curso a partir de seus objetos criados Figura 3.11 O construtor de GradeBook4. Saída do programa. 58

59 Comentando a classe GradeBook4Test Figura 3.11 O construtor de GradeBook4. Nota: Uma diferença importante entre construtores e métodos é que os construtores não podem retornar valores, portanto, não podem especificar um tipo de retorno (nem mesmo void). As linhas criam e inicializam um objeto GradeBook4 gradebook1; O construtor de GradeBook4 é chamado com o argumento CS101 Introduction to Java Programming para inicializar o nome do curso; A expressão de criação de instância de classe nas linhas retorna uma referência ao novo objeto, que é atribuído à variável gradebook1; As linhas repetem esse processo, dessa vez passando o argumento CS102 Data Structures in Java para inicializar o nome do curso de gradebook2; As linhas utilizam o método getcoursenamede cada objeto para obter os nomes de curso e mostrar que eles foram inicializados quando os objetos foram criados. 59

60 Adicionando o construtor ao diagrama de classe UML da classe GradeBook4 O diagrama de classe UML da Figura 3.12 modela a classe GradeBook4 da Figura 3.10, que tem um construtor que possui um parâmetro name de tipo String; Assim como operações, a UML modela construtores no terceiro compartimento de uma classe em um diagrama de classe; Para distinguir entre um construtor e operações de uma classe, a UML requer que a palavra constructor seja colocada entre aspas francesas (<<e >>) antes do nome do construtor; É habitual listar construtores antes de outras operações no terceiro compartimento. 60

61 Diagrama de classe UML da classe GradeBook4 - coursename: String GradeBook4 <<constructor>> GradeBook4( name: String ) + setcoursename( name: String ) + getcoursename( ): String + displaymessage() Figura 3.12 Diagrama de classe UML que indica que a classe GradedeBook4 tem um construtor com um parâmetro name de tipo UML String. 61

62 Construtores com múltiplos parâmetros Às vezes é recomendável inicializar objetos com múltiplos dados. Por exemplo, o Exercício 3.11, Deitel Java Como Programar, edição 8, p. 79, solicita que você armazene o nome do curso e o nome do instrutor em um objeto GradeBook. Nesse caso, o construtor de GradeBook seria modificado para receber duas Strings, como em: public GradeBook4( String coursename, String instructorname ) e você chamaria o construtor de GradeBook4 desta maneira: GradeBook4 gradebook = new GradeBook4( CS101 Introduction to Java Programming, Sue Green ); 62

63 Números de ponto flutuante e tipo double Agora, temporariamente deixamos de lado nosso estudo de caso GradeBook para declarar uma classe Accountque mantém o saldo de uma conta bancária; A maioria dos saldos de conta não é constituída de números inteiros (por exemplo, 0, -22 e 1024); Por essa razão, a classe Account representa o saldo de conta como um número de ponto flutuante(isto é, um número com um ponto de fração decimal, como 7,33, 0,0975 ou 1.000, 12345); O Java fornece dois tipos primitivos para armazenar números de ponto flutuante na memória float e double; A principal diferença entre eles é que as variáveis doublepodem armazenar números com maior magnitude e mais detalhes (isto é, mais dígitos à direita do ponto de fração decimal também conhecido como a precisãodo número) do que as variáveis float. 63

64 Precisão de número de ponto flutuante e requisitos de memória As variáveis do tipo floatrepresentam números de ponto flutuante de precisão simplese podem representar até sete dígitos significativos; As variáveis do tipo doublerepresentam números de ponto flutuante de precisão dupla. Essas requerem duas vezes a quantidade de memória das variáveis float e fornecem 15 dígitos significativos aproximadamente o dobro da precisão de variáveis float; Por padrão, o Java trata todos os números de ponto flutuante como do tipo double, pois variáveis double podem representar números de ponto flutuante com mais exatidão. Para números de ponto flutuante precisos, o Java fornece a classe BigDecimal(pacote java.math). 64

65 A classe Account com uma variável de instância do tipo double Nosso próximo aplicativo (Figuras ) contém uma classe chamada Account(Figura 3-13) que mantém o saldo de uma conta bancária; Um banco típico atende muitas contas, cada uma com um saldo próprio, portanto a linha 15 Declara uma variável de instância chamada balance do tipo double; A variável balance é uma variável de instância porque é declarada no corpo da classe, mas fora das declarações de método da classe (linhas 18-23, e 31-33); Cada instância(isto é, objeto) de classe Account contém sua própria cópia de balance. 65

66 Comentando a classe Account Figura 3.13 A classe Accountcom um construtor para validar e inicializar a variável de instância balance do tipo double. A classe tem um construtor e dois métodos; É comum que alguém abre uma conta deposite o dinheiro imediatamente, assim o construtor (linhas 18-23) recebe um parâmetro initialbalance do tipo double e que representa o saldo inicial; As linhas asseguram que initialbalanceseja maior do que 0.0. Se for, o valor de initialbalance é atribuído à variável de instância balance. Caso contrário, balance permanece em 0.0 seu valor inicial padrão; O método credit(linhas 26-28) não retorna quaisquer dados quando ele completa sua tarefa, portanto, seu tipo de retorno é void; 66

67 Comentando a classe Account Figura 3.13 A classe Accountcom um construtor para validar e inicializar a variável de instância balance do tipo double. O método credit(linhas 26-28) recebe um parâmetro chamado amount um valor double que será adicionado ao saldo; A linha 27 adiciona amount ao valor atual de balance, então atribui o resultado ao balance (substituindo assim a quantia do saldo anterior); O método getbalance(linhas 31-33) permite aos clientes da classe (isto é, outras classes que utilizam essa classe) obter o valor do balance de um objeto Accountparticular. O método especifica o tipo de retorno doublee uma lista vazia de parâmetros; Observe que as instruções nas linhas 22, 27 e 32 utilizam a variável de instância balancemesmo se ela não tiver sido declarada em nenhum dos métodos, ela é uma variável de 67 instância da classe Account.

68 A classe AccountTest para utilizar a classe Account A classe AccountTest(Figura 3.14) cria dois objetos Account (linhas 17-18) e os inicializa com e -7.53, respectivamente; As linhas 21-24geram a saída do saldo em cada Account chamando o método getbalance da Account; Quando o método getbalance é chamado por account1, a partir da linha 22, o valor do saldo da account1 é retornado da linha 32da Figura 3.13 e exibido pela instrução System.out.printf (Figura 3.14, linhas 23-24); De maneira semelhante, quando o método getbalance for chamado por account2, da linha 24, o valor do saldo da account2 é retornado da linha 32da Figura 3.13 e exibido pela Figura 3.14 Entrada e saída de números de ponto flutuante com objetos Account. instrução System.out.printf (Figura 3.14, linhas 23-24) 68

69 A classe AccountTest para utilizar a classe Account Observe que o saldo de account2é 0.00, porque o construtor assegurou que a conta não poderia iniciar com um saldo negativo; A saída do valor é gerada por printf com o especificador de formato %.2f; O especificador de formato %fé utilizado para gerar saída de valores de tipo floatou double; 0.2 entre %e frepresenta o número de casas decimais (2) que devem ser enviadas para a saída à direita do ponto de fração decimal no número de ponto flutuante também conhecido como a precisãodo número; Qualquer saída de valor de ponto flutuante com %.2f será arredondada para a casa decimal dos centésimos Figura 3.14 Entrada e saída de números de ponto flutuante com objetos Account. por exemplo, 123,457 seria arredondado para 123,46. 69

70 A classe AccountTest para utilizar a classe Account A linha 28 declara a variável local depositamountpara armazenar cada quantia de depósito inserida pelo usuário; Ao contrário da variável de instância balancena classe Account, a variável local depositamountem mainnão é inicializada como 0.0 por padrão. Entretanto, essa variável não precisa ser inicializada aqui porque seu valor será determinado pela entrada do usuário; A linha 30 pede ao usuário para inserir uma quantia de depósito para account1; A linha 31 obtém a entrada do usuário chamando o método nextdoubledo objeto inputde Scanner, que retorna um valor double inserido pelo usuário; Figura 3.14 Entrada e saída de números de ponto flutuante com objetos Account. 70

71 A classe AccountTest para utilizar a classe Account As linhas exibem o quanto foi depositado; A linha 34 chama o método credit do objeto account1 e armazena depositamount como argumento do método. Quando o método é chamado, o valor do argumento é atribuído ao parâmetro amount (linha 26 da Figura 3.13) do método credit (linhas da Figura 3.13), então o método credit adiciona esse valor ao balance (linha 27 da Figura 3.13); Figura 3.14 Entrada e saída de números de ponto flutuante com objetos Account. 71

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

Classes o Objetos. Classes, objetos, métodos e variáveis de instância Classes o Objetos Um recurso comum de cada aplicativo feito até agora é que todas as instruções que realizavam tarefas localizavam-se no método main. Se você tornar parte de uma equipe de desenvolvimento

Leia mais

Java Como Programar, 8/E

Java Como Programar, 8/E Capítulo 3 Introdução a classes e objetos Java Como Programar, 8/E 3.1 Introdução Abordado neste capítulo Classes Objetos Métodos Parâmetros Tipo primitivo double 3.2 Classes, objetos, métodos e variáveis

Leia mais

Introdução a classes e objetos. Copyright 2006 by Pearson Education

Introdução a classes e objetos. Copyright 2006 by Pearson Education 3 Introdução a classes e objetos 3.1 Introdução Programas do Capítulo 2 Todas as instruções estavam localizadas na função main. Em geral Os programas consistirão Na função main e Em uma ou mais classes

Leia mais

Introdução a classes e objetos by Pearson Education do Brasil

Introdução a classes e objetos by Pearson Education do Brasil 1 3 Introdução a classes e objetos 2 OBJETIVOS Apresentação do Ambiente de Trabalho Como declarar uma classe e utilizá-la para criar um objeto. Como declarar métodos em uma classe para implementar os comportamentos

Leia mais

Introdução a classes e objetos. 2005 by Pearson Education do Brasil

Introdução a classes e objetos. 2005 by Pearson Education do Brasil 1 3 Introdução a classes e objetos 2 3.1 Introdução Classes Números de ponto flutuante 3.2 Classes, objetos, métodos e variáveis de instância 3 Classes fornecem um ou mais métodos. Métodos representam

Leia mais

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Aula de Hoje Abstração de Dados Classes e Objetos Definição de Métodos Métodos com parâmetro Abstração de Dados Processo mental através do qual

Leia mais

Introdução à Programação Orientada a Objetos em C++

Introdução à Programação Orientada a Objetos em C++ Introdução à Programação Orientada a Objetos em C++ Disciplina de Programação Científica II Aula 12 de 18 24/05/2013 Professor Giovani Gracioli giovanig@gmail.com Objetivos Os objetivos dessa aula são:

Leia mais

Linguagem de Programação II Implementação

Linguagem de Programação II Implementação Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa

Leia mais

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java Guia da Sintaxe do Java TIPOS PRIMITIVOS DE DADOS DO JAVA São os tipos nativos de dados do Java, que podem ser usados na declaração de atributos, variáveis, parâmetros. Tipo primitivo Tamanho Valor padrão

Leia mais

Linguagem Java. Introdução. Rosemary Silveira Filgueiras Melo

Linguagem Java. Introdução. Rosemary Silveira Filgueiras Melo Linguagem Java Introdução Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com 1 Tópicos abordados Histórico da Linguagem Caracterização da Linguagem Criação de Programa Java inicial Entrada e Saída

Leia mais

Análise de Programação

Análise de Programação Análise de Programação Fundamentos da Linguagem de Programação Java Prof. Gilberto B. Oliveira Variáveis Atributos: Variáveis Declaradas fora de um método, sem o modificador static Variáveis membro ou

Leia mais

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. 1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras

Leia mais

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CLASSES E OBJETOS PARA PROGRAMAÇÃO ORIENTADA A OBJETOS Classes são estruturas das linguagens de POO criadas para conter os dados que

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Conceitos de Programação Orientada a Objetos

Conceitos de Programação Orientada a Objetos Conceitos de Programação Orientada a Objetos Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 02 Conceitos de Programação Orientada a Objetos 1 Conceitos Fundamentais Classe; Ocultamento de informação;

Leia mais

Conceitos de Programação Orientada a Objetos

Conceitos de Programação Orientada a Objetos Conceitos de Programação Orientada a Objetos Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 02 Conceitos de 1 Conceitos Fundamentais Classe; Ocultamento de informação; Encapsulamento; Atributo; Método;

Leia mais

Linguagem Java - Introdução

Linguagem Java - Introdução Linguagem Java - Introdução Identificadores válidos resultado teste01 _numeroclientes $fortuna Identificadores Identificadores inválidos 101dalmatas 34 #x Palavras reservadas abstract assert*** boolean

Leia mais

Programação Estruturada e Orientada a Objetos

Programação Estruturada e Orientada a Objetos INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Programação Estruturada e Orientada a Objetos Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-4 Construtores e Sobrecarga Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de dados nativos em Java

Leia mais

MsC. João Maria MsC. Liviane Melo

MsC. João Maria MsC. Liviane Melo Disciplina: Programação Orientada à Objetos AULA 02 Corpo docente: MsC. Alexandro Vladno Edmilson Campos MsC. Fábio Procópio Esp. Felipe Dantas MsC. João Maria MsC. Liviane Melo 2 Tipo Tamanho Alcance

Leia mais

Classes. BCC Programação Orientada a Objectos(POO) Departamento de Computação - UFOP Baseado nos slides do Prof. Marco Antônio Carvalho

Classes. BCC Programação Orientada a Objectos(POO) Departamento de Computação - UFOP Baseado nos slides do Prof. Marco Antônio Carvalho Classes BCC 221 - Programação Orientada a Objectos(POO) Guillermo Cámara-Chávez Departamento de Computação - UFOP Baseado nos slides do Prof. Marco Antônio Carvalho Introdução I Estamos acostumados a criar

Leia mais

Linguagem C Princípios Básicos (parte 1)

Linguagem C Princípios Básicos (parte 1) Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos

Leia mais

Array em Java. Figura 1 - Exemplo de um array de inteiros

Array em Java. Figura 1 - Exemplo de um array de inteiros Array em Java 1. Objetivos Nesta lição, abordaremos Array em Java. Primeiro, definiremos o que é array e, então, discutiremos como declará-los e usá-los. Ao final desta lição, o estudante será capaz de:

Leia mais

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação

Leia mais

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Estruturas de Seleção if... else Operador condicional (? : ) switch Aula de Hoje Estruturas de Repetição: while/do... while/for

Leia mais

Palavras Reservadas da Linguagem Java

Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java: Categorias Tipos de dados primitivos Literais Pseudo-variáveis Desvio e controle de fluxo Pacotes Exceções Modificadores de

Leia mais

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S PROGRAMAÇÃO I VA R I Á V E I S, C O N S TA N T E S, O P E R A D O R E S E N T R A DA E S A Í DA D E DA D O S Variáveis 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é

Leia mais

Linguagem de programação Java

Linguagem de programação Java Instituto Federal de Minas Gerais Campus Ponte Nova Linguagem de programação Java Professor: Saulo Henrique Cabral Silva ENTENDENDO O JAVA 2 Entendendo o Java executando... A instância da JVM irá iniciar

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;

Leia mais

Módulo 03. Identificadores, Palavras Reservadas, e Tipos

Módulo 03. Identificadores, Palavras Reservadas, e Tipos Módulo 03 Identificadores, Palavras Reservadas, e Tipos Objetivos Utilizar comentários em um programa. Distinguir entre identificadores válidos e não-válidos. Reconhecer palavras-reservadas da tecnologia

Leia mais

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem

Leia mais

A Linguagem C. A forma de um programa em C

A Linguagem C. A forma de um programa em C A Linguagem C Criada em 1972 por D. M. Ritchie e K. Thompson. Tornou-se uma das mais importantes e populares, principalmente pela portabilidade e flexibilidade. Foi projetada para o desenvolvimento de

Leia mais

Genéricos. Profa. Thienne Johnson EACH/USP

Genéricos. Profa. Thienne Johnson EACH/USP Genéricos Profa. Thienne Johnson EACH/USP Java, como programar, 6ª edição Deitel & Deitel Capítulo 18 Material complementar http://wps.prenhall.com/br_deitel_comoprogra_6/ Todas as classes em Java herdam,

Leia mais

Lição 4 Fundamentos da programação

Lição 4 Fundamentos da programação Lição 4 Fundamentos da programação Introdução à Programação I 1 Objetivos Ao final desta lição, o estudante será capaz de: Identificar as partes básicas de um programa em Java Reconhecer as diferenças

Leia mais

Instituto Superior de Engenharia de Lisboa

Instituto Superior de Engenharia de Lisboa Instituto Superior de Engenharia de Lisboa Introdução à Programação (PG) Docente: Pedro Viçoso Fazenda (pfazenda@cedet.isel.ipl.pt) Professor Responsável: Pedro Alexandre Pereira (palex@cc.isel.ipl.pt)

Leia mais

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@gmail.com

Leia mais

Linguagem de Programação C

Linguagem de Programação C Linguagem de Programação C Aula 08 Diogo Pinheiro Fernandes Pedrosa Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais 13 de novembro de 2009 Introdução O que é uma linguagem

Leia mais

A linguagem C (visão histórica)

A linguagem C (visão histórica) A linguagem C (visão histórica) A linguagem C é uma linguagem de programação desenvolvida no ínício dos anos 70 por Dennis Ritchie, que trabalhava nos laboratórios Bell e que também inciou em paralelo,

Leia mais

Programação científica C++

Programação científica C++ Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 2 Expressões Combinação de dados e operadores que resulta em um valor. expressão x = 2 * y + 4; variável operador constante Memória do computador

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-5 Estruturas de Decisão e Controle. Arrays em Java Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de

Leia mais

Instruções de controle: Parte by Pearson Education do Brasil

Instruções de controle: Parte by Pearson Education do Brasil 1 5 Instruções de controle: Parte 2 2 5.1 Introdução Continuação da discussão sobre programação estruturada: Introduz as demais instruções de controle do Java: for, do while e switch. 5.2 Princípios básicos

Leia mais

Noçõ linguagem Java. Profs. Marcel Hugo e Jomi Fred Hübner. Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB

Noçõ linguagem Java. Profs. Marcel Hugo e Jomi Fred Hübner. Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB Noçõ ções básicas b da linguagem Java Profs. Marcel Hugo e Jomi Fred Hübner Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB Introduçã ção Origem Funcionamento Vantagens Linguagem

Leia mais

Métodos Computacionais

Métodos Computacionais Métodos Computacionais Objetivos da Disciplina e Introdução a Linguagem C Construções Básicas Objetivos da Disciplina Objetivo Geral Discutir técnicas de programação e estruturação de dados para o desenvolvimento

Leia mais

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO REVISÃO POO INTRODUÇÃO À LINGUAGEM JAVA CRIANDO CLASSES EM JAVA Convenção de Nomes em Java Classes iniciam com letras maiúsculas Métodos, atributos e variáveis locais iniciam com minúsculas. Declaração

Leia mais

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; Tudo no mundo real pode ser representado por meio do conceito de "objeto": uma planta, uma mesa, uma pessoa, um sentimento,

Leia mais

CLASSES, OBJETOS, MÉTODOS E STRING

CLASSES, OBJETOS, MÉTODOS E STRING 1 CLASSES, OBJETOS, MÉTODOS E STRING Construir software rapidamente, corretamente e economicamente é um objetivo difícil de alcançar. Objetos, ou, mais precisamente as classes de objetos, são, essencialmente,

Leia mais

Orientação a Objetos e Java

Orientação a Objetos e Java Orientação a Objetos e Java Daves Martins davesmartins@yahoo.com.br Mestre em Computação de Alto Desempenho pela UFRJ Especialista em Banco de Dados Analista Web Orientação a Objetos e Java Características

Leia mais

Algoritmos I Aula 13 Linguagem de Programação Java

Algoritmos I Aula 13 Linguagem de Programação Java Algoritmos I Aula 13 Linguagem de Programação Java Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação IDE Eclipse IDE (Integrated development environment) Criar um projeto

Leia mais

Algoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente):

Algoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente): Algoritmos e Programação 2 Baseado no material do Prof. Júlio Machado Objetos e Classes em Java Revisão Classes: encapsulam dados (atributos) e operações sobre os dados (métodos) Objetos: instâncias de

Leia mais

Aula 1 POO 1 Prática. Profa. Elaine Faria UFU

Aula 1 POO 1 Prática. Profa. Elaine Faria UFU Aula 1 POO 1 Prática Profa. Elaine Faria UFU - 2019 Introdução Java Linguagem de programação poderosa Utiliza o paradigma Orientado a Objetos Muito utilizada em aplicativos para Internet e para redes Difundida

Leia mais

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES LINGUAGEM C: VARIÁVEIS E EXPRESSÕES Prof. André Backes LINGUAGENS DE PROGRAMAÇÃO Linguagem de Máquina Computador entende apenas pulsos elétricos Presença ou não de pulso 1 ou 0 Tudo no computador deve

Leia mais

Instruções de controle: Parte 1. 2005 by Pearson Education do Brasil

Instruções de controle: Parte 1. 2005 by Pearson Education do Brasil 1 4 Instruções de controle: Parte 1 2 4.2 Algoritmos Algoritmos: As ações a executar. A ordem em que essas ações executam. Controle do programa: Especifica a ordem em que as ações são executadas em um

Leia mais

Notas de Aula 01: Introdução à linguagem de programação Java e ao ambiente de desenvolvimento NetBeans

Notas de Aula 01: Introdução à linguagem de programação Java e ao ambiente de desenvolvimento NetBeans Notas de Aula 01: Introdução à linguagem de programação Java e ao ambiente de desenvolvimento NetBeans Objetivos da aula: Introduzir conceitos da linguagem Java Apresentar um histórico da linguagem Apresentar

Leia mais

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli Vetores De modo geral, em linguagem de programação, vetores ou arrays são estruturas de dados que permitem que uma mesma variável possa armazenar mais de um valor; Em Java, vetores são coleções de dados,

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.2. Estrutura de Programas e Representação

Leia mais

Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes Aula 03 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www3.ifrn.edu.br/~brunogomes Agenda da Aula Representação de Algoritmos em Pseudocódigo: Tipos de Dados;

Leia mais

Instituto de Informática Estrutura de Dados II

Instituto de Informática Estrutura de Dados II Instituto de Informática Estrutura de Dados II Revisão de Métodos em Classes Aplicada a Estrutura de Dados Básicas 20/08/2018 Profa. Lucília Gomes Ribeiro Prof. Dirson S Campos Programação em Java q O

Leia mais

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica. Computação L2 Linguagem C++ ovsj@cin.ufpe.br Observação: Material Baseado na Disciplina Computação Eletrônica. Alfabeto São os símbolos ( caracteres ) permitidos na linguagem: Letras (maiúsculas e minúsculas);

Leia mais

Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz

Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz Sumário de Aula } Conceito de Memória } Variáveis e Tipos de Dados } Constantes 2 Conceito de Memória } A memória de um computador é

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO

PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO FOZ DO IGUAÇU 2013 LISTA

Leia mais

ECT1203 Linguagem de Programação

ECT1203 Linguagem de Programação Universidade Federal do Rio Grande do Norte Escola de Ciências e Tecnologia ECT1203 Linguagem de Programação Prof. Aquiles Burlamaqui Profa. Caroline Rocha Prof. Luiz Eduardo Leite Prof. Luciano Ferreira

Leia mais

Algoritmos II prof. Daniel Oliveira

Algoritmos II prof. Daniel Oliveira Algoritmos II prof. Daniel Oliveira Revisar conceitos abordados na disciplina anterior Abordar conceitos vistos com a linguagem C# Variáveis e listas Expressões Estruturas de controle do tipo condicional

Leia mais

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli Vetores De modo geral, em linguagem de programação, vetores ou arrays são estruturas de dados que permitem que uma mesma variável possa armazenar mais de um valor; Em Java, vetores são coleções de dados,

Leia mais

EXPRESSÕES BOOLEANAS. Ex: boolean b = false; // declara uma variável do tipo boolean e atribui false

EXPRESSÕES BOOLEANAS. Ex: boolean b = false; // declara uma variável do tipo boolean e atribui false Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 4 EXPRESSÕES BOOLEANAS O tipo primitivo boolean É um tipo de dados primitivo em Java que possui

Leia mais

Criando a Classe Pessoa Exemplo: Crie e modele uma classe que receba o nome, idade e peso de uma Pessoa. Ao final mostre os dados na tela.

Criando a Classe Pessoa Exemplo: Crie e modele uma classe que receba o nome, idade e peso de uma Pessoa. Ao final mostre os dados na tela. Aula 09 Criando a Classe Pessoa Exemplo: Crie e modele uma classe que receba o nome, idade e peso de uma Pessoa. Ao final mostre os dados na tela. Conforme a aula anterior vamos seguir as regras de padronização

Leia mais

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano O C++ foi inicialmente desenvolvido por Bjarne Stroustrup durante a década de 1980 com o objetivo de melhorar a linguagem de programação C, mantendo a compatibilidade com esta linguagem. Exemplos de Aplicações

Leia mais

A figura abaixo representa uma classe denominada Carteira. Esta classe é composta dos métodos depositar(valor) e retirar(valor) e do atributo saldo.

A figura abaixo representa uma classe denominada Carteira. Esta classe é composta dos métodos depositar(valor) e retirar(valor) e do atributo saldo. 1-Introdução à Programação Orientada a Objetos 1.1. O que é programação orientada a objetos? Programação orientada a objetos é uma metodologia de desenvolvimento de software. Sua principal vantagem é a

Leia mais

A programação orientada a objetos tenta simular estes aspectos, trazendo para o computador a realidade do dia-a-dia.

A programação orientada a objetos tenta simular estes aspectos, trazendo para o computador a realidade do dia-a-dia. Introdução A orientação a objetos é uma maneira de programar que trata de modelar os processos de programação de uma maneira próxima à linguagem humana: tratando componentes de um programa como um objeto

Leia mais

Programação Orientada a Objetos SANTOS, Rafael (PLT)

Programação Orientada a Objetos SANTOS, Rafael (PLT) Programação Orientada a Objetos SANTOS, Rafael (PLT) Possibilita atribuições em sequência na mesma instrução Retorna o valor atribuído Atribuições compostas: incluem a própria variável: +=, *=, -=, etc

Leia mais

Classes e Objetos. Sintaxe de classe em Java

Classes e Objetos. Sintaxe de classe em Java Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados

Leia mais

4. Estruturas Fundamentais de Programação em C

4. Estruturas Fundamentais de Programação em C 4. Estruturas Fundamentais de Programação em C 4.1. Imprimindo Mensagens e Valores no Monitor de Vídeo A biblioteca de entrada e saída (stdio.h) possui a função printf que imprime mensagens e valores diretamente

Leia mais

COMPORTAMENTOS - Observações

COMPORTAMENTOS - Observações COMPORTAMENTOS - Observações O próprio objeto realiza operações de consulta ou alteração dos valores dos seus atributos Essas operações são definidas em seus métodos Os métodos também são utilizados para

Leia mais

Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES. Linguagem C. Linguagem C Estrutura Básica. Constante (literais) Linguagem C Primeiro Programa

Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES. Linguagem C. Linguagem C Estrutura Básica. Constante (literais) Linguagem C Primeiro Programa Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES Linguagem C - Introdução Linguagens de Máquina Representação numérica Difícil utilização e compreensão Específica para cada máquina Linguagens Simbólicas(Assembly)

Leia mais

AULA 6 - ARRAYS. Array de 10 elementos

AULA 6 - ARRAYS. Array de 10 elementos 1 AULA 6 - ARRAYS Arrays são objetos que armazenam diversas variáveis do mesmo tipo. Eles podem conter variáveis de referência primitivas ou de objeto, mas o array propriamente dito sempre será um objeto

Leia mais

Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida

Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida Programação Orientada a Objetos II Java Segunda aula 1 Programação Orientada a Objeto II Tipos de Dados e Variáveis Operadores Operadores aritméticos Operadores relacionais Operadores lógicos Operadores

Leia mais

Introdução aos aplicativos Java. Prof. Marcelo Roberto Zorzan

Introdução aos aplicativos Java. Prof. Marcelo Roberto Zorzan Introdução aos aplicativos Java Prof. Marcelo Roberto Zorzan Aula de Hoje Aplicativo Java Primeiro programa Java Tipos de comentários Instruções de saída Aplicativo Java Um aplicativo java é um programa

Leia mais

Programação Orientada a Objetos II

Programação Orientada a Objetos II Programação Orientada a Objetos II Introdução Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa Introdução ao Desenvolvimento

Leia mais

Classes e Objetos em Java. Algoritmos e Programação I. Classes. Classes. Modificadores de Acesso. Classes. Revisão

Classes e Objetos em Java. Algoritmos e Programação I. Classes. Classes. Modificadores de Acesso. Classes. Revisão e Objetos em Java Algoritmos e Programação I Aula 9 Profa. Márcia Cristina Moraes mmoraes@inf.pucrs.br Profa. Sílvia M. W. Moraes silvia@inf.pucrs.br Prof. Marcelo H. Yamaguti yamaguti@inf.pucrs.br Prof.

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 1o. Semestre de 2017 Prof.

Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 1o. Semestre de 2017 Prof. Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 1o. Semestre de 2017 Prof. Renato Pimentel Prática 02 Java básico Atividade individual. Crie um novo projeto

Leia mais

Dados armazenados em um objeto podem ser tanto primitivos, tais como inteiros ou caracteres, ou referências para outros objetos.

Dados armazenados em um objeto podem ser tanto primitivos, tais como inteiros ou caracteres, ou referências para outros objetos. 2. Classes e Objetos Uma classe é um modelo que define os atributos e métodos comuns a um conjunto de objetos de forma encapsulada. Atributos são informações ou dados que descrevem, categorizam ou quantificam

Leia mais

JAVA. Professor: Bruno Toledo

JAVA. Professor: Bruno Toledo JAVA Professor: Bruno Toledo Funcionamento de uma LP Em uma Linguagem de Programação (LP) como C e Pascal, temos o seguinte quadro quando vamos compilar um programa. Código fonte em c Teste.c Gera código

Leia mais

Linguagem C: Introdução

Linguagem C: Introdução Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais

Leia mais

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II Classes e Objetos Objetos Um conjunto de estados e comportamentos Classes Um modelo para a criação de objetos 1 Pacotes e Java API Pacotes Um conjunto

Leia mais

Classes, instâncias e métodos de acesso. prática

Classes, instâncias e métodos de acesso. prática Classes, instâncias e métodos de acesso prática Exercício 01 Crie a classe Ponto que possui duas dimensões (int x, int y). Crie os métodos get e set. Faça o main para instanciar e testar a classe. Adicione

Leia mais

Aula de hoje. Tipos de Dados e Variáveis. Constantes literais. Dados. Variáveis. Tipagem dinâmica. SCC Introdução à Programação para Engenharias

Aula de hoje. Tipos de Dados e Variáveis. Constantes literais. Dados. Variáveis. Tipagem dinâmica. SCC Introdução à Programação para Engenharias SCC 12 - Introdução à Programação para Engenharias Tipos de Dados e Variáveis Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto Menezes

Leia mais

Aula 3 Constantes e funções de E/S

Aula 3 Constantes e funções de E/S Programação I Aula 3 e funções de E/S Prof. Laura Silva de Assis e Prof. Luis Carlos Retondaro Engenharia de Computação 2o Período CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca

Leia mais

Introdução à Linguagem de Programação Java 1 INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO JAVA

Introdução à Linguagem de Programação Java 1 INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO JAVA 1 INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO JAVA 2 INDICE 1. COMENTÁRIOS... 4 1.1. Comentário de uma linha... 4 1.2. Comentário de múltiplas linhas... 4 2. IMPRESSÃO DE TEXTOS... 5 2.1. Imprimindo um texto

Leia mais

Linguagem de Programação II Implementação

Linguagem de Programação II Implementação Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos

Leia mais

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

#include <stdio.h> Void main() { printf( Cheguei!\n); } INTRODUÇÃO A LINGUAGEM C #include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que

Leia mais

Apêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são:

Apêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são: Apêndice A Classe Vector A classe Vector permite a representação de um vetor de dados de maneira similar à de um array, visto na disciplina Programação Orientada a Objetos I, mas com maior flexibilidade.

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA

PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA PÁTIO DE MATERIAIS Discente: Nielson Soares Disciplina: Algoritmo e Estrutura de Dados INTRODUÇÃO Orientação a objetos. Linguagem de programação JAVA. Pátio de matérias

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Introdução à Programação de Computadores. Aula - Tópico 1

Algoritmos e Estruturas de Dados I (DCC/003) Introdução à Programação de Computadores. Aula - Tópico 1 Algoritmos e Estruturas de Dados I (DCC/003) Introdução à Programação de Computadores Aula - Tópico 1 1 Problema 1 Considere o seguinte problema: Determinar o valor de y = seno(1,5). 2 Definições Para

Leia mais

Algoritmos: Conceitos Fundamentais. Slides de autoria de Rosely Sanches e Simone Senger de Souza

Algoritmos: Conceitos Fundamentais. Slides de autoria de Rosely Sanches e Simone Senger de Souza Algoritmos: Conceitos Fundamentais Slides de autoria de Rosely Sanches e Simone Senger de Souza DADOS E EXPRESSÕES Uso da Informação Computador manipula informações contidas em sua memória. Classificadas

Leia mais

Diagramas Sintáticos

Diagramas Sintáticos Diagramas Sintáticos Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira (palex@cc.isel.ipl.pt) Classe pública com método main Cada classe X pública é declarada num ficheiro

Leia mais

Tema da aula Introdução ao paradigma de programação: Orientado a Objetos

Tema da aula Introdução ao paradigma de programação: Orientado a Objetos Profa. Juliana Santiago Teixeira Disciplina: Programação Orientada a Objetos I Tema da aula Introdução ao paradigma de programação: Orientado a Objetos Paradigma Paradigma é a filosofia adotada na construção

Leia mais