• Nenhum resultado encontrado

LP2

N/A
N/A
Protected

Academic year: 2021

Share "LP2"

Copied!
44
0
0

Texto

(1)

INSTITUTO FEDERAL DE

EDUCAÇÃO, CIÊNCIA E TECNOLOGIA

BAHIA

Linguagem de Programação II

Prf. Msc. Igor de Oliveira Costa

INSTITUTO FEDERAL DE

EDUCAÇÃO, CIÊNCIA E TECNOLOGIA

(2)

Quem sou?

• Nome: Igor de Oliveira Costa • Formação Acadêmica:

– Mestre em Ciência da Computação – UFPE • Universidade Federal de Pernambuco - PE

– Especialista em Engenharia de Software – UFLA • Universidade Federal de Lavras - MG

– Bacharel em Sistemas de Informação – FASETE • Faculdade Sete de Setembro – BA

(3)

Qual expectativa em

relação a disciplina?

(4)

Apresentação da disciplina

• Fundamentos de Orientação a Objetos:

• Termos básicos, objetos, campos e métodos,

encapsulamento, mensagens, classes, herança, hierarquia de classes, objetos compostos, polimorfismo.

• Uso de orientação a objetos (Linguagem Java):

– Definição de classes,

– Visibilidade dos membros de uma classe, – Redefinição de métodos,

– Construtores e destrutores.

• Tratamento de exceções.

• Ambiente de Desenvolvimento Integrado (IDE).

(5)

Objetivos da disciplina

• Dar ao aluno uma visão aprofundada das características da linguagem de programação JAVA, bem como prover

subsídios suficientes para a construção de um protótipo funcional;

• Capacitar o aluno a interpretar problemas de pequeno e médio porte no paradigma de orientação a

objetos/componentes e implementá-los na forma de programas;

• Demonstrar ao aluno técnicas de programação Orientada a Objetos/Componentes;

• Enfatizar conceitos de desenvolvimento de softwares.

(6)

Conteúdo Básico

• Estrutura de Dados (Array, Matrizes, Vector e List);

• Orientação a Objetos (Polimorfismo, override, overload e herança);

• Tipos de atributos (private, public, static e protected);

• Controle de Exceção (try catch finally runtime exception); • Padrão POJO (encapsulamento);

• Componentes gráficos: Swing, tratamento de eventos; • Introdução à programação web (JSF2 – CRUD);

• Mapeamento Objeto Relacional (Hibernate).

(7)

Vamos falar de avaliação

– 1ª Nota: • Atividades = 3,0 • Prova escrita = 7,0 – 2ª Nota: • Prova escrita = 7,0 • Exercícios/Atividades = 3,0 – 3ª Nota: • Prova = 5,0

• Entrega parcial do projeto = 5,0

– 4ª Nota:

• Entrega final do projeto = 5,0 • Prova = 5,0

• Média Final = (N1+N2+N3+N4)/4

(8)

Metodologia

• Aulas expositivas intercalada com aulas práticas; • A disciplina será trabalhada a partir de presença e

participação em aulas;

• Apresentação de textos complementares, discussões e trabalhos em grupos, avaliação formal e informal;

• Exercícios tem destaque especial na avaliação, por comprovar na prática o que conhecimento teórico discutido.

(9)

Exercícios

• Construa um algoritmo que escreva “Olá IFBA”.

• Determine qual é a idade que o usuário faz no ano atual. Para isso solicite o ano de nascimento do

usuário e o ano atual.

• A partir de 3 notas fornecidas de um aluno, informe se ele foi aprovado, ficou de recuperação ou foi

reprovado.

– a média de aprovação é >= 7.0;

– a média de recuperação é >= 5.0 e < 7.0; e – a média do reprovado é < 5.0

(10)

Exercícios

• Faça um algoritmo que calcule a velocidade média de um carro, para isso informa a

distância e o tempo para percorrer a distância informada.

• A loja tabajara está vendendo seus produtos em 5 (cinco) prestações sem juros. Faça um programa em Java que receba um valor de uma compra e mostre o valor das prestações.

(11)

RELEMBRANDO

(12)

O que é Orientação a Objetos?

Orientação a Objetos é um paradigma de programação baseado na composição e interação entre diversas unidade de software chamadas objetos.

Esse paradigma foi introduzido com o objetivo de reduzir o grande problema em modelar o mundo real na área computacional.

(13)

Principais conceitos

• Na programação orientada a objetos existem alguns pilares que são primordiais, são eles:

– Encapsulamento – Herança

– Polimorfismo

(14)

O que seria uma classe?

• É um molde ou especificação de um possível objeto

(15)

O que seria um objeto?

• Um objeto é uma construção de software que encapsula estado e comportamento. Os

objetos permitem que você modele seu software em termos reais e abstração.

• um objeto é uma instância de uma classe.

(16)

Analogia

Classe

Carro

(17)

Tipos primitivos da linguagem Java

• Tipos lógicos: boolean

– Em Java um tipo lógico é definido pela palavra

boolean, e pode assumir dois valores: true ou false.

• Tipos textuais: char e String

– Caracteres simples são representados pelo tipo char;

– Palavras são representadas por uma seqüência de dados do tipo char, agrupadas em um tipo especial de dados: a classe String

(18)

• Os números inteiros são divididos em quatro tipos: byte, short, int e long;

– O tipo byte é o de menor alcance entre os inteiros. Ele consome apenas um byte (8 bits) e pode guardar valores entre -128 e 127; – O tipo short guarda inteiros de 2 bytes (16 bits) e pode guardar

números entre -32.768 a 32.767;

– O tipo int é o tipo de dado mais comum. Ele consome 4 bytes (32 bits) e guarda valores entre -2.147.483.648 e 2.147.483.647. – Long é o tipo de dado com maior alcance entre os inteiros.

Consequentemente, também é o que ocupa mais espaço (8 bytes ou 64 bits).

Prf. Msc. Igor de Oliveira Costa 18

(19)

Tipos primitivos da linguagem Java

• Tipos numéricos de ponto flutuante: float e

double

– Um valor fracionário pode ser representado em Java através dos tipos float e double;

– A diferença entre os dois está no tamanho de cada um:

• float: 32 bits; • double: 64 bits;

(20)

Convenções de codificação

• Classes e interfaces: A primeira letra deve ser maiúscula e, se várias palavras forem escritas juntas para formar o nome, a primeira letra de cada palavra interna deve ser maiúscula. Um padrão conhecido como (camelCase).

(21)

• Métodos: A primeira letra deve ser minúscula, e depois as primeiras letras das outras

palavras devem ser maiúsculas.

• Variáveis: Como nos métodos, começando

com a letra minúscula. Utilizar nomes curtos e representativos.

Prf. Msc. Igor de Oliveira Costa 21

(22)

• Constantes – constantes devem ter todas as suas letras em maiúsculo, com o símbolo de underline para separa as palavras

Prf. Msc. Igor de Oliveira Costa 22

(23)

Operadores Lógicos e Aritiméticos

Operador Função

++ Incrementa o valor da variável em uma unidade. Exemplo: i++; contador++;

- - Diminui o valor da variável em uma unidade. Exemplo: i--; contador--;

+ - Operadores aritméticos * / % Multiplicação, divisão, resto == != Igualdade e desigualdade

^ Potência

&& AND

|| OR

(24)

Promoção e Casting

• A linguagem Java não suporta atribuições

arbitrárias entre variáveis de tipos diferentes; • Ou seja, Java é fortemente tipada;

• Quando atribuímos um valor a uma variável, e esse valor é incompatível com o tipo de dado

definido para a variável, ocorrerá uma conversão; • Quando o processo de conversão for automático,

dizemos que ocorreu uma promoção.

(25)

• Exemplo de Promoção

Prf. Msc. Igor de Oliveira Costa 25

(26)

• Exemplo de Casting

Prf. Msc. Igor de Oliveira Costa 26

(27)

• Para transformar uma String em Int, double ou Float, utilizamos o método parse.

• Ex:

Prf. Msc. Igor de Oliveira Costa 27

(28)

Métodos

• Os métodos determinam o comportamento dos objetos de um classe. Quando um método é

invocado, se diz que o objeto está recebendo uma mensagem (para executar uma ação).

• O método pode ter ou um retorno, no caso de não ter um retorno o método é declarado como

void:

– public void inserirNome(String nome){

}

(29)

• Caso tenha retorno o método deve ser declarado com o tipo do retorno:

Prf. Msc. Igor de Oliveira Costa 29

(30)

• A chamada do método é feita através de instanciação do objeto:

Prf. Msc. Igor de Oliveira Costa 30

(31)

Modificadores

• Quando trabalhamos com encapsulamento em orientação a objetos temos que verificar como os atributos e métodos de uma

determinada classe ficará visível a outras classes do programa, para isso existem os modificares, são eles:

– Public – Private

– Protected

(32)

Construtores

• Os construtores são uma espécie de método que são responsáveis por criar o objeto em memória, ou seja, instanciar a classe que foi definida;

(33)

• Esses construtores podem ter parâmetros ou não;

• Por padrão o Java já cria esse construtor sem parâmetros para todas as Classes, então você não precisa fazer isso se irá utilizar apenas

construtores sem parâmetros;

• Os construtores podem ser inicializado com parâmetros, assim quando se cria o objeto ele já terá os atributos definidos;

Prf. Msc. Igor de Oliveira Costa 33

(34)

Prf. Msc. Igor de Oliveira Costa 34

(35)

Get e Set - Métodos Acessores

• O encapsulamento "protege" os atributos ou métodos dentro de uma classe, portanto

devemos prover meios para acessar tais membros quando eles são particulares, ou seja, quando possuem o modificador private. • Esses métodos são a criação de métodos

acessores getters e setters;

(36)

• Nomeamos um método acessor com set toda vez que este método for modificar algum

campo ou atributo de uma classe, ou seja, se não criarmos um método acessor set para

algum atributo, isso quer dizer que este atributo não deve ser modificado;

• Nomeamos um método acessor com get toda vez que este método for verificar algum campo ou atributo de uma classe.

Prf. Msc. Igor de Oliveira Costa 36

(37)

Prf. Msc. Igor de Oliveira Costa 37

(38)

Estrutura de dados (Vetores)

• Vetores são estruturas de dados que

armazenam usualmente uma quantidade fixa de dados de um certo tipo;

• Os vetores em Java, assim como em outras linguagens é inicializado por 0;

• Internamente, um vetor armazena diversos valores, cada um associado a um número que se refere à posição de armazenamento, e é

conhecido como índice.

(39)

• Os vetores são estruturas indexadas, em que cada valor que pode ser armazenado em uma certa posição (índice) é chamado de elemento do vetor;

• Cada elemento do vetor pode ser utilizado individualmente de forma direta, ou seja, pode ser lido ou escrito diretamente, sem nenhuma regra ou ordem preestabelecida;

Prf. Msc. Igor de Oliveira Costa 39

(40)

• Cada posição de um vetor é unicamente identificada por um valor inteiro positivo, linear e sequencialmente numerado;

• Ex.: a[i], corresponde ao i-ésimo elemento do vetor a, sendo que o valor da variável i deve pertencer ao intervalo dos índices do vetor: ((i >= 0) && (i < a.length)).

Prf. Msc. Igor de Oliveira Costa 40

(41)

• Declaração de Vetores

• Representação

Prf. Msc. Igor de Oliveira Costa 41

(42)

• Podemos também armazenar um objeto em nosso vetor, no entanto, este seria limitado pelo tamanho do vetor.

Prf. Msc. Igor de Oliveira Costa 42

(43)

Prf. Msc. Igor de Oliveira Costa 43

(44)

Prf. Msc. Igor de Oliveira Costa 44

Referências

Documentos relacionados

§ métodos construtores: crie um construtor padrão (sem parâmetro e vazio) e um construtor passando parâmetros para cada atributo da classe;.. § método toString(): monta uma

Pessoas iguais à você, alegaram serem os sucessores dos apóstolos, os quais morreram muito antes deles sequer terem nascido, e não deixaram nenhum texto escrito por eles mesmos, o que

Em um texto escrito mais de dez anos atrás chamado “Reconstruindo Masculinidade Negra”, eu sugeri que “nós podemos quebrar a vida que a masculinidade patriarcal

A presente pesquisa tem como objetivo investigar expectativas de alunos de um curso de Licenciatura em Matemática em relação a suas futuras práticas docentes, à escola, a seus

De que forma essa atividade pode enriquecer a sua prática com as crianças no CEI?. Enriquecimento cultural (dos profissionais)

Encarregado de Dados (DPO – Data Protection Officer): pessoa indicada pelo Controlador e Operador para atuar como canal de comunicação entre o Controlador, os Titulares

Tudo começou com o Josué, um cara da FFLCH-História, que inclusive tinha mania de fazer uma oposição ferrada contra a minha gestão (dessa forma, alguns membros

Uma boa iluminação é fundamental em uma Loja de Roupas, por isso ela foi pensada com muito carinho para esse projeto... Os provadores, por precisarem de uma iluminação