quinta-feira, 14 de março de 2013

Aula 24 06/03/13



Nesta aula o professor começou finalizando o conteúdo da ultima aula anterior. sobre pacotes e como gerar um arquivo.jar e o Javadoc.
Que no meu conceito geral define em "organização dos diretórios", quando um programador utiliza as classes feitas por outro, surge um problema clássico. Por exemplo se programador criar uma classe chamada de "Data" que funciona de uma forma, e a classe "Data" de outro colega funcione de outra maneira ou até mesmo pode ter classe de uma biblioteca que funcione de uma terceira maneira diferente. Para que seja mais fácil de se ter um controle de quem quer usar a classe "Data", como o sistema operacional não permite utilizar dois arquivos como mesmo nome, sob o mesmo diretório surge a necessidade de organizar as classes em diretório diferentes. Os diretórios estão diretamente relacionado aos chamados pacotes e costumam agrupar classes de funcionalidades  similares ou relacionadas.

Por exemplo, no pacote java.util temos as classes Date, SimpleDateFormat e GreforianCalendar; todas elas trabalham com formas diferentes.

package br.com.caelum.banco;

class Cliente {
// ...

}

Fica fácil notar que a palavra chave package indica qual o pacote/diretório contém esta classe.
Um pacote pode conter nenhum ou mais subpacotes e/ou classes dentro dele.

Aula 23 05/03/13



Bom nesta aula o professor iniciou explicando sobre classes e pacotes em Java.


Java possui vários pacotes com outros pacotes internos e várias classes já prontas para serem utilizadas.
Dentre os pacotes Java podemos determinar dois grandes pacotes: o pacote java, que possui as classes padrões para o funcionamento do algorítmo; e o pacote javax, que possui pacotes de extensão que fornecem classes e objetos que implementam ainda mais o pacote java.
Exemplo: o pacote AWT (Abstract Windowing Toolkit) possui as classes necessárias para se criar um ambiente gráfico API (Janelas) e está fortemente ligado as funções nativas do Sistema Operacional, ou seja, ele pertence ao pacote java. Mas, o pacote SWING não é ligado fortemente as funções nativas do Sistema Operacional, mas as funções do AWT, ou seja, SWING complementa o AWT, portanto SWING faz parte do pacote de extensão javax.
Para utilizar as milhares de classes contidas nos inúmeros pacotes de Java devemos ou nos referenciar diretamente a classe ou importá-la.
Para importar um pacote usamos o comando import.
Para separar um pacote de seu sub-pacote usamos um ponto (como no acesso a membros de classe).
Ao importarmos um pacote podemos utilizar um coringa, o asterísco (*). O asterísco serve para importar todos os sub-pacotes e classes do pacote que está definido.
Ex.import java.awt.*;. Isso importará todos os sub-pacotes pertencentes ao pacote AWT.
Ou podemos definir diretamente qual pacote desejamos.
Ex.import javax.swing.JOptionPane;. Isso irá importar apenas o sub-pacote JOptionPane do pacote SWING.
A diferença entre as duas formas de importação de pacotes é o consumo de recursos do computador. Como o asterísco importa todos os sub-pacotes, o consumo de memória será alto e, muito provavelmente, não usaremos todas as classes de todos os pacotes importados. Por isso, o recomendado é sempre importar apenas o pacote que será utilizado.
Para consolidar o que foi visto até aqui, o código abaixo ilustra o uso de pacotes.

01.package tiexpert;
02. 
03.import javax.swing.JOptionPane;
04. 
05.public class Mensagem {
06.public static void main (String args[]){
07.JOptionPane.showMessageDialog(null,
08."Bem vindo ao mundo de Java!");
09.}
10.}



Nos solicitou iniciar uma leitura inicial da pág 171 da apostila caelun até a pág dos exercicios. Após isso nos apresentou alguns exemplos que executamos no eclipse e pelo terminal do mac.

Logo após novamente explicou o conceito a turma sobre o assunto em questão.

htmlparser.sourceforge.net

localhost/cis229/week_1_lists.html

Aula 22 27/02/13


Aula 22 - 27/02/13

Esta aula foi dada para realizarmos o trabalho e também para tirarmos algumas duvidas em questão.

* Realizei algumas pesquisas na internet referente a como efetuar um "parser do código html extraindo os links".


Aula 21 26/02/13





Na aula de hoje o professor iniciou a aula com assunto de "exceções", no geral é os erros que o Java não entende, existe dois tipos de exceções,

1º exceção que não precisa verificar

2º e a exceção que necessita tratamento (exceção verificada)


Trows inicia na declaração do método E serve para encaminhar a exceção para não precisar realizar o tratamento.

ex:

public Getfile(String nome) TROWS{


}


O professor pegou o exemplo da apostila caelum, da página inicial 155 e nos aplicou cada um das diferença ao declarar os "try e o catch"

primeiro aplicou no método 1, depois no método 2 e por ultimo no método main!


-> e.printStackTrace();

A variável acima exibe toda a pilha de erros e a variável "e" contem toda a exceção!!!


Após ao intervalo o professor nos deu um tempinho para realizar a leitura e poder fixar melhor o conteúdo abordado hoje.


E no final da aula o professor nos deu um desafio, entregar os exercícios do 1 ao 4 da pág. 167 até o dia 27/02 ás 19h. Ganha um 1 décimo.

Aula 20 12/12/12




Classes Abstratas e Métodos Abstratos


Nesta aula o professor iniciou a matéria sobre “Classes Abstratas”, pelo o que eu entendi sobre a explicação do professor é que serve para que não possamos instanciar um objeto qualquer da classe,  que geralmente são utilizadas pela classes mãe. O mesmo também utilizou o exemplo da apostila Caelum, página 127 sobre as classe Gerente que herdam da classe Funcionário, ou seja utilizando a classe Abstrata você não ira conseguir instanciar um “Funcionário”, isto porque as classes filhas também serão “Funcionários”. Apenas para herdar os atributos da classe principal e não poder instanciar esta classe. Outro fator importante na orientação a objetos de forma objetiva, uma classe abstrata serve apenas como modelo para uma classe concreta. Além disso! Outro fato importante de classes abstratas é que podem ou não métodos abstratos, que tem a mesma definição da assinatura de método encontrada em "interfaces", podendo ou não implementar um método. Nas classes abstratas são obrigatório a implementação de uma classe concreta.

Exemplo: 


abstract class Funcionario {

  protected String nome;
  protected String cpf;
  protected double salario;

  public double getBonificacao() {
    return this.salario * 1.2;
  }

  // outros métodos aqui

}
         
Com o método abstrato é utilizado para obrigar as classes filha a terem o método abstrato herdado da classe mãe, sendo assim você da classe mão a obrigação de implementar o método abstrato, caso não seja implementado o método o seu código não ira compilar. 










Aula 19 04/12/12




Nesta aula o professor apenas propôs o trabalho a ser realizado no período das férias, a principio tempo terei para realizar o mesmo, teremos que ver enquanto o estipulado para realizar o mesmo.

Resumindo o conteúdo do trabalho a ser realizado:


Desenvolver um aplicativo utilizando a linguagem Java que contemple as seguintes funcionalidades:

·         Leia uma URL digitada pelo usuário
·         Busque o texto /html do link informado pelo usuário
·         Percorra os links existentes no documento e monte um “mapa do site” até o segundo nível, ou seja, leia todos os links do html informado pelo usuário e também todos os links existentes e cada um dos links do documento principal.


O trabalho deve ser entregue individual ou em dupla, o código deve ser realizado pela ferramenta IDE Eclipse e entregue no formado .ZIP, do conteúdo.

domingo, 10 de março de 2013

Aula 18 27/11/12


Eclipse

A aula de hoje foi realizados mais alguns exercícios da aula anterior referente “Herança e Polimorfismo”, logo após o professor nos apresentou uma ferramenta que “alegra muito os programadores”. O Eclipse, que é um IDE, com um único conceito em desenvolvimento de softwares, uma ferramenta que “compila” o código digitado na interface da tela e não esquecendo de ressaltar os comandos que facilita na digitação do código programado pelo desenvolvedor. Assim sendo menos utilizado os testes com o Promt de Comando do Windows ou o Terminal Unix (Mac and Linux).
                Com essa IDE é muito mais fácil de trabalhar, mas podemos dizer que se obtém mais organização na hora de implementar o código e criar as classes, podemos dizer que essa IDE atende todas as necessidades do programador. Bom! Posso dizer que havia conhecido o Eclipse no semestre anterior do curso, gostei muito mesmo de aprender a trabalhar e quero cada vez mais implementar os meus estudos de Java em cima desse programa para desenvolvedores. E eu digo Adeus ao notepad++!!!




Reflexão

Esse conteúdo estudado na aula de hoje foi muito interessante, preciso cada vez mais não só estudar a teoria, mas sim praticar meus conhecimentos, pois a prática e a experiência que faz a diferencia do profissional de TI.