Вы находитесь на странице: 1из 5

Programao Orientada a Objetos (POO)

Instituto Federal de Educao, Cincia e Tecnologia de Gois Campus Jata 2011

Classe Math da JVM (Java Virtual Machine)

Aluno: Alexandre Morais Silva

Instituto Federal de Educao, Cincia e Tecnologia de Gois Campus Jata 2011

Introduo O presente trabalho tem por finalidade apresentar as caractersticas e particularidades da classe Math do pacote java.util. A qual uma classe utilitria que possui diversos mtodos para clculos matemticos. A classe Math est presente no SDK(Kit de desenvolvimento JAVA) desde suas primeiras verses onde ela foi desenvolvida por Joseph D. Darcy e a mesma consta na API do JAVA (bibliotecas de classes JAVA) at os dias atuais. A classe Math como as demais classes utilitrias do JAVA encontram-se no pacote java.util, mas a classe Math possui uma diferena das demais classes do pacote java.util. Ela possui uma caracterstica um tanto quanto particular todos os seus mtodos e atributos so estticos e o seu construtor privado. No possvel falar sobre a classe Math sem falarmos sobre mtodos e atributos estticos. O que so? Quais as suas vantagens e desvantagens? Quando e como devo utilizar mtodos estticos? Bem essas e outras dvidas sero esclarecidas mais abaixo. Atributos Estticos (Atributos de Classe) Atributos estticos ou atributos de classe so atributos que so utilizados por todas as instncias de uma classe, isso mesmo, um atributo que ter o mesmo valor para todas as instncias de uma classe. Diferente dos atributos de instncia onde seus valores so diferentes para cada nova instncia. Atributos estticos no podem receber atributos no estticos, mas o inverso verdadeiro. Atributos estticos so as primeiras coisas a serem executadas pela JVM (Java Virtual Machine) ao carregar uma classe JAVA, com seus valores padro se voc no atribuir um valor explicitamente. Mtodos Estticos (Mtodos de Classe) A linguagem JAVA sendo orientada a objetos no possui variveis ou funes (atributos ou mtodos) globais, o mais perto disso que voc chegar com a linguagem JAVA ser utilizando os mtodos da classe Math (ou mtodos estticos definidos por voc). Isso por que todos os mtodos da classe Math so estticos, onde mtodos estticos no precisam de uma instncia para ser acessados. Como assim? Isso mesmo, mtodos estticos no precisam de uma instncia ou objeto para ser acessados. Eles so acessados atravs do nome da classe mais ponto e o nome do mtodo. Mtodos estticos so responsveis por sua execuo, tudo o que eles fazem independente dos atributos de instncia, eles dizem respeito classe e no a uma instncia especfica. Os mtodos estticos so utilizados quando necessitamos que um mtodo faa uma ao e que essa ao no seja influenciada pela instncia em questo. Sendo que essa ao sempre ter o mesmo comportamento. Um exemplo mais claro de um mtodo com essas caractersticas seria o mtodo Max da classe Math, onde ele sempre retorna o maior valor dos dois valores passados por parmetros ou o mtodo POW da mesma classe que ele retorna a potncia de um nmero passado por parmetro. Uma classe poder ter ou no mtodos estticos. Nada ir impedir que voc crie mtodos estticos juntos com mtodos no-estticos, mas nem tudo so flores. Mtodos estticos s podem acessar outros mtodos estticos (atributos estticos tambm), voc nunca poder acessar mtodos no-estticos (atributos no estticos) atravs de um mtodo esttico. Mas o inverso dessa premissa permitido, voc poder acessar mtodos estticos e atributos estticos a partir de um mtodo no esttico.

Construtores O processo de criao de um objeto composto por trs partes: declarao de uma varivel de referncia, o processo de criao do novo objeto e a sua atribuio a referncia. Mas o que isso tem a ver com os construtores? O Processo de criao chama os construtores de uma classe JAVA e so os construtores que definem como um objeto criado. Toda classe em JAVA possui um construtor mesmo que voc no o crie explicitamente a JVM o criar para voc de forma implicitamente. Construtores s podero ser acessados atravs do operador new isso se o mesmo for chamado fora da sua classe, ma dentro da classe um construtor poder chamar outro construtor (Se houver uma sobre carga de construtores.) Construtor da Classe Math Como foi dito na explicao de construtores eles definem como um objeto ser criado, mas o que acontece se um objeto tiver um construtor com o modificador de acesso privado? Uma reposta simples seria que ele s poder ser acessado dentro da prpria classe. Esse o caso da classe Math, isso mesmo, seu construtor privado, no permitindo que sejam criadas da instncias da mesma. Mtodos da classe Math Bem como foi dito na introduo todos os mtodos da classe Math so estticos. Se logo abaixo uma lista com a definio e exemplos de alguns dos mtodos da classe Math: Mtodo Math.abs(valor) Math.ceil(valor) Math.cos(valor) Math.max(valor ,valor1) Math.min(valor, valor1) Math.pow(valor ,valor1) Math.sin(valor) Math.cos(valor) Math.tan(valor) Math.sqrt(valor ) Math.random() Valor gerado de forma randmica. O nmero -7.0 elevado a 4.0 igual: 2401.0 O seno de -7.0 :-0.6569865987187891 n(-7); O co-seno -0.6569865987187891 A tangente -0.8714479827243187 de de -7.0 -7.0 : os(-7); : n(-7); Math.s qrt(9) Math.ra ndom(); Math.ta Math.c Descrio o Valor absoluto de -7.0 : 7.0 bs(-7); Arredonda -7.0 para o menor inteiro no menor que: -7.0 Cosseno trigonomtrico 0.7539022543433046 de -7.0 : os(-7); Math.m ax(-7,4); Math.m in(-7,4); Math.p ow(-7,4); Math.si Math.c eil(-7) Math.c Math.a Exempl

Maior nmero entre -7.0 e 4.0 :4.0 Menor nmero entre -7.0 e 4.0 : -7.0

A raiz quadrada de 9.0 3.0

Atributos da classe Math A classe Math possui apenas dois atributos e como foi dito na introduo ambos so estticos. So duas constantes matemticas PI e E, onde PI uma relao entre a circunferncia de um circulo e o seu dimetro e E uma constante que representa o valor base para logaritmos naturais. Esses atributos so pblicos e finais o que permite que sejam acessados por outras classes, mas os seus valores no possam ser alterados.

Referncias DEITEL, HARVEY M. DEITEL, PAUL J. DEITEL JAVA como Programar 6 ed. So Paulo. Prentice-Hall, 2005. SIERRA KATHY , BATES BERT. USE A CABEA JAVA 2 ed. Rio de Janeiro. Alta Books, 2007.

Вам также может понравиться