Sunteți pe pagina 1din 2

Programao OO em Java

Srie Java Carto de Referncia


1. Classe ideia, no existe realmente 2. Objeto derivado de uma classe, existe

Lembre-se que: 1 POO no linguagem, uma metodologia 2 No tenha medo da reutiliza o ! Pensar "ue POO sem#re uma solu o $sucesso% & Nunca 'a a #rograma o ego(sta Modificadores
ublic acesso a)erto a "ual"uer classe rotected acesso a)erto a classe do mesmo #acote rivate acesso limitado a classe "ue o criou chamamos modi'icador de'ault, a aus*ncia de um dos modi'icadores de acesso, o acesso torna+se ilimitado #ara a 'am(lia ,#or heran a-, mesmo de #acotes di'erentes final classes, mtodos e atri)utos no #odero ser modi'icados static mtodos e atri)utos existem #ara a classe s!nc"roni#ed os mtodos tero acesso sincronizado volatile os atri)utos sero muilti+acessados transiente os atri)utos s. sero criados "uando usados native utilizado #ara criar o #rograma em outra linguagem

Re$ra de Cria%o dos &i os


Modificador #u)lic #rotected de'ault #rivate 'inal 'oss(veis usos ara os modificadores ---------> static

/riar um o)0eto: modi'icador /lasse nome 1 ne2 /onstrutor,-3 /riar um atri)uto: modi'icador ti#o nome 1 valor4nicial3 /riar um mtodo: modi'icador retorno nome,5#ar6metro7- 8...9

Class )tr*Obj sim sim no sim sim sim no sim sim sim no sim

Mtodo Construtor sim sim sim sim sim sim sim sim sim sim sim no

Mtodo Construtor
: um mtodo normalmente com o acesso #;)lico, sem o valor de retorno e com o mesmo nome da classe, utilizado no momento da inst6ncia da classe #or um o)0eto ,nascimento do o)0eto-: class Teste { pulic Teste() { } } Na utiliza o #or heran a, a #alavra <su#er,-< se re'ere a utiliza o de um <construtor #ai< class A { pulic A(int a) { } } class B extends A { pulic B(int b) { super(b); } }

'olimorfismo Mtodos Overload


=o mtodos com o mesmo nome "ue ocorrem dentro da mesma classe, entretanto devem rece)er #ar6metros di'erente de modo "ue sua chamada #ossa ser di'erenciada. public int calcCPF(long num) { } public boolean calcCPF(long num, byte num) { }

'olimorfismo Mtodos Override


Ocorrem #or heran a #ara modi'icar ou com#lementar um determinado mtodo, neste caso toda a assinatura do mtodo dever> ser id*ntica, ou res#eitando+se a ordem de a)ertura dos modi'icadores de acesso.

htt#:??'ernandoans.site@A.net

Programa o OO em Bava P>g 1 de 2

Programao OO em Java
Srie Java Carto de Referncia
'R+,C-'+OS .) OR+/,&)01O ) O2J/&OS 34 'rinc( io da Orienta%o a Objetos )bstra%o
Ceve+se isolar os as#ectos "ue se0am im#ortantes #ara algum #ro#.sito no #ro0eto e su#rimir ,eliminar- os "ue no 'orem. <is+a< 'eito #or heran a, en"uanto "ue, <has a< um novo o)0eto #ara classe. Por exem#lo: O usu>rio diz: O lar uma ,is+a- casa "ue tem uma ,has+a- 'am(lia. O #rogramador deve entender: public class ar extends Casa { pri!ate Familia "amilia; }

54 'rinc( io da Orienta%o a Objetos /nca sulamento


No #reciso conhecer o todo #ara sa)er o 'uncionamento. Para evitar acessos indevidos, todos os atri)utos e o)0etos de classe devero ser de'inidos #articulares #ara a classe ,com o modi'icador <#rivate<-. Os atri)utos invari>veis ,de'inidos com o modi'icador <'inal<- esca#am a essa regra. pri!ate double salario; public "inal int #AT$%C& A; Para acessar os atri)utos #articulares #or outras classes, utilizamos os seguintes mtodos modi'icadores: Dtodo $et #ara realizar o acesso ao atri)uto: !oid set'alario(double s) { salario ( s; } Dtodo set #ara o)ter o valor do atri)uto: dou)le get'alario() { return salario; }

64 'rinc( io da Orienta%o a Objetos Modulari#a%o


Euanto menos instru Fes existir em um mtodo #ara executar, mais r>#ido este ser> executado. Cevemos dividir #ara con"uistar. Os nomes de classe e mtodos devem re#resentar exatamente o "ue devem 'azer: public class Teste { public !oid metodo() { )) "a* tudo } } public class Funcionario { public !oid adicionar'alario() { } public !oid promo!eAumento(int p) { } public ist retornarCurriculo() { } }

74 'rinc( io da Orienta%o a Objetos 8eran%a


Gma classe #ode gerar novas classes "ue se0am suas c.#ias #er'eitas e a #artir destas #oss(vel reada#t>+las ao meio em "ue vivem. Gma classe #ode relacionar+se de tr*s maneiras di'erentes com outra: 'or a$ru amento "uando uma classe domina com#letamente a outra, geralmente este ti#o de relacionamento acarreta um atri)uto "ue re#resenta um arraH de o)0etos da segunda classe na #rimeira. Ix. Pedido e 4temPedido, Juncionario e Ce#endente, K"uario e Peixe. 'or )ssocia%o "uando uma classe utiliza sim#lesmente outra classe, geralmente este ti#o de relacionamento acarreta um o)0eto da segunda classe na #rimeira. Ix. Pedido e /onta, Juncionario e Ce#artamento, K"uario e Euarto. 'or 8eran%a "uando uma classe herda as caracter(sticas de uma classe 0> existente #ara realizar uma es#ecializa o ,uma melhora-. Ix. Pedido e PedidoGrgente, Juncionario e Lerente, K"uario e K"uarioMer ario.

Classe )bstrata
/lasse "ue #ossui mtodos a)stratos e #ode #ossuir abstract class #ami"ero { public abstract int mamar(); mtodos reais. No #ode ser instanciada, deve o)rigatoriamente ser extendida. Pode #ossuir atri)utos. }

+nterface
=. #ode #ossuir mtodos a)stratos e #;)licos. No abstract inter"ace 'er+i!o { public abstract !oid modo,e'uar(); #ode ser instanciada e deve o)rigatoriamente ser } im#lementada. Ktri)utos devem ser 'inais. htt#:??'ernandoans.site@A.net Programa o OO em Bava P>g 2 de 2

S-ar putea să vă placă și