Aula 1 de Linguagens de Programação ISPGS

19
LINGUAGENS DE PROGRAMAÇÃO E COMPILADORES AULA 1 Programação Orientada a Objectos em Java, C# e PHP. Design Patterns 4º ANO DE ENGENHARIA INFORMÁTICA

Transcript of Aula 1 de Linguagens de Programação ISPGS

Page 1: Aula 1 de Linguagens de Programação ISPGS

LINGUAGENS DE PROGRAMAÇÃO E COMPILADORES– AULA 1

Programação Orientada a Objectos em Java, C# e PHP.

Design Patterns

4º ANO DE ENGENHARIA INFORMÁTICA

Page 2: Aula 1 de Linguagens de Programação ISPGS

LINGUAGENS DE PROGRAMAÇÃO E COMPILADORES - OBJECTIVOS

Objectivo Geral:

1. Conhecer e compreender as principais linguagens de programação, bem como os principais conceitos e ferramentas (compiladores e tradutores).

Objectivos Específicos:

1. Escrever pequenos programas em Java, C# e PHP;

2. Conhecer e utilizar as principais ferramentas de desenvolvimento;

3. Aplicar os principais conceitos na prática.

9/2/2015 Prof. Lic. Eugénio Nelson C. Camilo Dianguila

Page 3: Aula 1 de Linguagens de Programação ISPGS

UNIDADE 1. POO JAVA1.1. ORIENTAÇÃO A OBJETOS (CLASSES,

OBJECTOS E MÉTODOS)

Ao término deste capítulo, você será capaz de:

1. Dizer o que é e para que serve orientação a objetos;

2. Conceituar classes, atributos e comportamentos (métodos);

3. Entender o significado de variáveis e objectos na memória.

9/2/2015 Prof. Lic. Eugénio Nelson C. Camilo Dianguila

Page 4: Aula 1 de Linguagens de Programação ISPGS

CRIANDO UM TIPO DE DADO

Considere um programa para um banco, é bem fácil perceberque uma entidade extremamente importante para o nossosistema bancário é a conta. Nossa ideia aqui é generalizarmosalguma informação, juntamente com funcionalidades quetoda conta deve ter.

1. O que toda conta tem e é importante para nós?

9/2/2015 Prof. Lic. Eugénio Nelson C. Camilo Dianguila

Page 5: Aula 1 de Linguagens de Programação ISPGS

CRIANDO UM TIPO DE DADO

1. número de Conta;

2. nome do Dono da Conta;

3. saldo;

4. limite do Saldo.

9/2/2015 Prof. Lic. Eugénio Nelson C. Camilo Dianguila

Page 6: Aula 1 de Linguagens de Programação ISPGS

CRIANDO UM TIPO DE DADO

2. O que toda Conta faz e é importante para nós? Isto é, o que gostaríamos de “pedir à

conta"?

9/2/2015 Prof. Lic. Eugénio Nelson C. Camilo Dianguila

Page 7: Aula 1 de Linguagens de Programação ISPGS

CRIANDO UM TIPO DE DADO

1. Saca uma quantidade x;

2. Deposita uma quantidade x;

3. Imprime o nome do dono da conta;

4. Devolve o saldo actual;

5. Transfere uma quantidade x para uma outra conta y

6. Devolve o tipo de Conta.

9/2/2015 Prof. Lic. Eugénio Nelson C. Camilo Dianguila

Page 8: Aula 1 de Linguagens de Programação ISPGS

CRIANDO UM TIPO DE DADO

Com isso, temos o projecto de uma conta bancária.

3. Podemos pegar esse projecto e acessar seu saldo?

Não, o que temos ainda é o projecto.

Antes, precisamos construir uma Conta, para poder acessar o queela tem, e pedir a ela que faça algo.

9/2/2015 Prof. Lic. Eugénio Nelson C. Camilo Dianguila

Page 9: Aula 1 de Linguagens de Programação ISPGS

9/2/2015 Prof. Lic. Eugénio Nelson C. Camilo Dianguila

Page 10: Aula 1 de Linguagens de Programação ISPGS

CRIANDO UM TIPO DE DADO

Repare na figura anterior: Apesar do item do lado esquerdoespecificar uma Conta, Essa especificação é uma Conta? Nósdepositamos e sacamos dinheiro desse papel? Não. Utilizamos aespecificação da Conta para poder criar instâncias que realmentesão contas, onde podemos realizar as operações que criamos.Apesar de declararmos que toda conta tem um saldo, um número euma agência no pedaço de papel (como à esquerda na figura), sãonas instâncias desse projeto que realmente há espaço paraarmazenar esses valores.

Ao projecto da conta, isto é, a definição da conta, damos o nomede Classe. Ao que podemos construir a partir desse projecto, ascontas de verdade, damos o nome de objetos.

9/2/2015 Prof. Lic. Eugénio Nelson C. Camilo Dianguila

Page 11: Aula 1 de Linguagens de Programação ISPGS

CRIANDO UM TIPO DE DADO

A palavra classe vem da taxonomia da biologia. Todos os seresvivos de uma mesma classe biológica têm uma série de atributos ecomportamentos em comum, mas não são iguais, podem variarnos valores desses atributos e como realizam essescomportamentos.

Um exemplo: uma receita de bolo. A pergunta é: Alguém comeuma receita de bolo? Não. Precisamos instanciá-la, criar um objetobolo a partir dessa especificação (a Classe) para utilizá-la. Podemoscriar centenas de bolos a partir dessa classe (a receita, no caso),eles podem ser bem semelhantes, alguns até idênticos, mas sãoobjetos diferentes.

9/2/2015 Prof. Lic. Eugénio Nelson C. Camilo Dianguila

Page 12: Aula 1 de Linguagens de Programação ISPGS

UMA CLASSE EM JAVA

Vamos começar apenas com o que uma Conta tem, e não com o queela faz (veremos mais em frente). Um tipo desses, como oespecificado de Conta acima, pode ser facilmente traduzido paraJava:

9/2/2015 Prof. Lic. Eugénio Nelson C. Camilo Dianguila

Page 13: Aula 1 de Linguagens de Programação ISPGS

CRIANDO E USANDO UM OBJECTO

Já temos uma classe em Java que especifica o que todo objectodessa Classe deve ter. Mas como usá-la? Além dessa classe, aindateremos o Programa.java e a partir dele é que vamos utilizar aclasse Conta. Para criar (construir, instanciar) uma Conta, basta usara palavra chave new. Devemos utilizar também os parênteses, quedescobriremos o que fazem exatamente em um capítulo posterior:

9/2/2015 Prof. Lic. Eugénio Nelson C. Camilo Dianguila

Page 14: Aula 1 de Linguagens de Programação ISPGS

CRIANDO E USANDO UM OBJECTO

Bem, o código acima cria um objecto do tipo Conta, mas comoacessar esse objecto que foi criado?

Precisamos ter alguma forma de nos referenciarmos a esse objeto.Precisamos de uma variável:

9/2/2015 Prof. Lic. Eugénio Nelson C. Camilo Dianguila

Page 15: Aula 1 de Linguagens de Programação ISPGS

CRIANDO E USANDO UM OBJECTO

Pode parecer estranho escrevermos duas vezes Conta: uma vez nadeclaração da variável e outra vez no uso do new. Mas há um motivo,que em breve entenderemos. Através da variável minhaConta,podemos acessar o objeto recém criado para alterar seu dono, seusaldo, etc:

9/2/2015 Prof. Lic. Eugénio Nelson C. Camilo Dianguila

Page 16: Aula 1 de Linguagens de Programação ISPGS

COMPORTAMENTOS OU MÉTODOS DE UMA CLASSE

Dentro da classe, também declararemos o que cada conta faz e comoos métodos funcionam. Por exemplo, de que maneira é que umaConta saca dinheiro? Especificaremos isso dentro da própria classeConta, e não em um local desligado das informações da própriaConta.

É por isso que essas “funções” são chamadas de métodos. Pois é amaneira de fazer uma operação com um objecto.

Queremos criar um método que saca uma determinada quantidade enão devolve nenhuma informação para quem utilizar esse método:

9/2/2015 Prof. Lic. Eugénio Nelson C. Camilo Dianguila

Page 17: Aula 1 de Linguagens de Programação ISPGS

COMPORTAMENTOS OU MÉTODOS DE UMA CLASSE

Prof. Lic. Eugénio Nelson C. Camilo Dianguila

Page 18: Aula 1 de Linguagens de Programação ISPGS

COMPORTAMENTOS OU MÉTODOS DE UMA CLASSE

A palavra chave void diz que, quando você pedir para a conta sacaruma quantia, nenhuma informação será enviada de volta a quempediu.

9/2/2015 Prof. Lic. Eugénio Nelson C. Camilo Dianguila

Page 19: Aula 1 de Linguagens de Programação ISPGS

Exercicios:

1. Criar outros Objectos da Classe Conta e alterar seus atributos

9/2/2015 Prof. Lic. Eugénio Nelson C. Camilo Dianguila

PRÓXIMA AULA MÉTODOS