ďťż
 
metody w klasach dziedziczacych ďťż
 
metody w klasach dziedziczacych
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

metody w klasach dziedziczacych



Leszekr - 17-10-2007 00:02
metody w klasach dziedziczacych
  Mam nastepujaca sytuacje:

public class A extends JPanel{

protected void paintComponent(Graphics g){
drawSomething();
g.drawString("cos tam")
}

protected void drawSomething(){
System.out.print("A");
}
}

public class B extends A{

protected void drawSomething(){
System.out.print("B");
}

}

Problem jest taki, ze w egzemplarzu B wykonuje sie metoda drawSomething
z A. Dlaczego tak jest i jak zmusic zeby wykonala sie metoda z klasy B
zamiast A.

pozdr

leszekr





Damian - 17-10-2007 00:02

  Leszekr <leszek@compi.net.pl> wrote in
news:ff1ptk$lvt$1@node1.news.atman.pl:

> Problem jest taki, ze w egzemplarzu B wykonuje sie metoda drawSomething
> z A. Dlaczego tak jest i jak zmusic zeby wykonala sie metoda z klasy B
> zamiast A.

Na początek proponuję:

public class B extends A{

@Override
protected void drawSomething(){
....

--
Damian




Brzezi - 17-10-2007 00:02

  wto, 16 paź 2007 o 09:39 GMT, Leszekr napisał(a):

> Problem jest taki, ze w egzemplarzu B wykonuje sie metoda drawSomething
> z A. Dlaczego tak jest i jak zmusic zeby wykonala sie metoda z klasy B
> zamiast A.

U mnie wypisuje B, upewniej sie ze na pewno masz instancje klasy B a nie A,
bo innej mozliwosci nie widze

Pozdrawiam
Brzezi
--
[ E-mail: brzezi@enter.net.pl ][ Ta sygnatura zostala automagicznie ]
[ Ekg: #3781111 ][ wygenerowana programem Signify v1.14. ]
[ LinuxUser: #249916 ][ Po ten i inne super programy, ]
[ zajrzyj na http://www.debian.org/ ]




Brzezi - 17-10-2007 00:02

  wto, 16 paź 2007 o 09:46 GMT, Damian napisał(a):

> Na początek proponuję:
>
> public class B extends A{
>
> @Override
> protected void drawSomething(){
> ...

Adnotaja ta nic nie daje praktycznego, jedynie kompilator bedzie
protestowal w momencie jezeli probojesz przeslonic metode ktorej nie ma
(np. literowka w sygnaturze metody) wtedy sie adnotacja przydaje...

Pozdrawiam
Brzezi
--
[ E-mail: brzezi@enter.net.pl ][ We don't believe in rheumatism and true ]
[ Ekg: #3781111 ][ love until after the first attack. ]
[ LinuxUser: #249916 ][ -- Marie Ebner von Eschenbach ]





Maciej Piechotka - 17-10-2007 00:02

  On Tue, 16 Oct 2007 11:04:21 +0000, Brzezi wrote:

> wto, 16 paź 2007 o 09:46 GMT, Damian napisał(a):
>
>> Na początek proponuję:
>>
>> public class B extends A{
>>
>> @Override
>> protected void drawSomething(){
>> ...
>
> Adnotaja ta nic nie daje praktycznego, jedynie kompilator bedzie
> protestowal w momencie jezeli probojesz przeslonic metode ktorej nie ma
> (np. literowka w sygnaturze metody) wtedy sie adnotacja przydaje...
>
> Pozdrawiam
> Brzezi

Będzie prostestował w mpmencie w którym nie przysłonię metody. To też
informacja...

Pozdrawiam
--
I've probably left my head... somewhere. Please wait untill I find it.
Homepage (pl_PL): http://uzytkownik.jogger.pl/
(GNU/)Linux User: #425935 (see http://counter.li.org/)




Damian - 19-10-2007 00:01

  Maciej Piechotka <uzytkownik2@gmail.com> wrote in news:fl8fu4-
kjg.ln1@router.piechotka.com.pl:

> On Tue, 16 Oct 2007 11:04:21 +0000, Brzezi wrote:
>
>> wto, 16 paź 2007 o 09:46 GMT, Damian napisał(a):
>>
>>> Na początek proponuję:
>>>
>>> public class B extends A{
>>>
>>> @Override
>>> protected void drawSomething(){
>>> ...
>>
>> Adnotaja ta nic nie daje praktycznego, jedynie kompilator bedzie
>> protestowal w momencie jezeli probojesz przeslonic metode ktorej nie ma
>> (np. literowka w sygnaturze metody) wtedy sie adnotacja przydaje...
>>
>> Pozdrawiam
>> Brzezi
>
> Będzie prostestował w mpmencie w którym nie przysłonię metody. To też
> informacja...
>
> Pozdrawiam

No i właśnie o to chodziło, żeby kompilator sprawdził czy nie ma literówki,
pomylownych parametrów itd, czyli czy naprawdę ta metoda jest przesłonietą.
Jak to zawiedzie to pozostają jeszcza dwie możliwości:
1. metoda jest wołana na instancji obiektu A
2. metoda jest wołana z konstruktora A

--
Damian
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [MySQL] metody =?ISO-8859-2?Q?por=F3wnywania_znak=F3w_-_ja?==?ISO-8859-2?Q?kis_alter_=3A=29?= Metody projektowania relacyjnych baz danych Metody porownywania napisow MySQL [PGSQL] dziedziczenie struktury tabeli [postgres] Dziedziczenie tabel. [MSSQL] Giną rekordy po padzie zasilania Duza tabela czy wiele mniejszych? [pytanie] mala litera - corel Phostoshop - sciezki i nerwosol font - brak ogonków w Corelu
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • absolwenci.keep.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com