[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

pl.comp.programming

Dziedziczenie w Javie

TiGeR

3/15/2007 8:36:00 PM

Witam.

Czy jest jakis sposob, aby podczas dziedziczenia
w Javie odziedziczyc wszystko poza wybranymi
metodami/polami publicznymi?

Jedyne co mi przychodzi do glowy to przeslanianie
ich odpowiednikami prywatnymi, ale to jest
niestety niedozwolone (przynajmnie w NetBeans'ie).

Pozdrawiam.


11 Answers

Tomek

3/16/2007 7:34:00 AM

0

TiGeR napisa3(a):
> Witam.
>
> Czy jest jakis sposob, aby podczas dziedziczenia
> w Javie odziedziczyc wszystko poza wybranymi
> metodami/polami publicznymi?
>

na javie sie nie nie znam ale konieczno?a wykonania czego? takiego
?wiadczy o z3ym projekcie. Mo?na zrobia zawieranie i udostepnia tylko te
metody które chcemy.

> Jedyne co mi przychodzi do glowy to przeslanianie
> ich odpowiednikami prywatnymi, ale to jest
> niestety niedozwolone (przynajmnie w NetBeans'ie).

a czym sie ró?ni VM w NetBeansie od innych.

TiGeR

3/16/2007 2:21:00 PM

0

> na javie siê nie nie znam ale konieczno¶æ wykonania czego¶ takiego
> ¶wiadczy o z³ym projekcie.

Pytanie bylo raczej z ciekawosci i czysto teoretyczne.

> Mo¿na zrobiæ zawieranie i udostêpniæ tylko te metody które chcemy.

"Zawieranie"? Mozna prosic szerzej?

> a czym sie ró¿ni VM w NetBeansie od innych.

Niektore kompilatory (roznych jezykow) wykraczaja
czasem poza specyfikacje.

------------------------------------------

Po przemysleniu doszedlem jednak do wniosku,
ze takie zachowanie (mam tu na mysli, przypisywanie
mniejszych zakresow dostepnosci podczas przeslaniania)
jest zabronione z definicji, ze wzgledu na bezpieczenstwo
polimorfizmu.

Pozdrawiam.


ris

3/16/2007 4:12:00 PM

0

TiGeR napisa3(a):
>> na javie sie nie nie znam ale konieczno?a wykonania czego? takiego
>> ?wiadczy o z3ym projekcie.
>
> Pytanie bylo raczej z ciekawosci i czysto teoretyczne.
>
>> Mo?na zrobia zawieranie i udostepnia tylko te metody które chcemy.
>
> "Zawieranie"? Mozna prosic szerzej?
public class T1
{
public T1() { }
}

public class T2
{
public T2() { }

// Zawieranie!
T1 t1;
}
r

pdemb

3/18/2007 1:41:00 PM

0

ris <ris22@wytnijmniegazeta.pl> writes:

[...]

> public class T1
> {
> public T1() { }
> }
>
> public class T2
> {
> public T2() { }
>
> // Zawieranie!
> T1 t1;
> }

Mi to wygl?da na zwyk3? delegacje.

pdemb

3/18/2007 3:44:00 PM

0

pdemb@gazeta.pl (Piotr Dembinski) writes:

> ris <ris22@wytnijmniegazeta.pl> writes:
>
> [...]
>
>> public class T1
>> {
>> public T1() { }
>> }
>>
>> public class T2
>> {
>> public T2() { }
>>
>> // Zawieranie!
>> T1 t1;
>> }
>
> Mi to wygl?da na zwyk3? delegacje.

Tzn. ca3y problem mo?na rozwi?zaa poprzez delegacje.

ris

3/18/2007 6:10:00 PM

0

Piotr Dembinski napisa3(a):
> pdemb@gazeta.pl (Piotr Dembinski) writes:
>
>> ris <ris22@wytnijmniegazeta.pl> writes:
>>
>> [...]
>>
>>> public class T1
>>> {
>>> public T1() { }
>>> }
>>>
>>> public class T2
>>> {
>>> public T2() { }
>>>
>>> // Zawieranie!
>>> T1 t1;
>>> }
>> Mi to wygl?da na zwyk3? delegacje.
>
> Tzn. ca3y problem mo?na rozwi?zaa poprzez delegacje.
No mo?na, ale kolega spyta3 co to jest zawieranie. Wiec mu stworzy3em
dwie klasy ?eby to zrozumia3.
r

pdemb

3/18/2007 9:16:00 PM

0

ris <ris22@wytnijmniegazeta.pl> writes:

> Piotr Dembinski napisa3(a):
>> pdemb@gazeta.pl (Piotr Dembinski) writes:
>>
>>> ris <ris22@wytnijmniegazeta.pl> writes:
>>>
>>> [...]
>>>
>>>> public class T1
>>>> {
>>>> public T1() { }
>>>> }
>>>>
>>>> public class T2
>>>> {
>>>> public T2() { }
>>>>
>>>> // Zawieranie!
>>>> T1 t1;
>>>> }
>>> Mi to wygl?da na zwyk3? delegacje.
>> Tzn. ca3y problem mo?na rozwi?zaa poprzez delegacje.
> No mo?na, ale kolega spyta3 co to jest zawieranie. Wiec mu
> stworzy3em dwie klasy ?eby to zrozumia3.

W gruncie rzeczy to to nie jest zawieranie, tylko zwyk3y zwi?zek.

ris

3/19/2007 9:26:00 AM

0

Piotr Dembinski napisa3(a):
> ris <ris22@wytnijmniegazeta.pl> writes:
>
>> Piotr Dembinski napisa3(a):
>>> pdemb@gazeta.pl (Piotr Dembinski) writes:
>>>
>>>> ris <ris22@wytnijmniegazeta.pl> writes:
>>>>
>>>> [...]
>>>>
>>>>> public class T1
>>>>> {
>>>>> public T1() { }
>>>>> }
>>>>>
>>>>> public class T2
>>>>> {
>>>>> public T2() { }
>>>>>
>>>>> // Zawieranie!
>>>>> T1 t1;
>>>>> }
>>>> Mi to wygl?da na zwyk3? delegacje.
>>> Tzn. ca3y problem mo?na rozwi?zaa poprzez delegacje.
>> No mo?na, ale kolega spyta3 co to jest zawieranie. Wiec mu
>> stworzy3em dwie klasy ?eby to zrozumia3.
>
> W gruncie rzeczy to to nie jest zawieranie, tylko zwyk3y zwi?zek.
http://pl.wikipedia.org/wiki/Agregacja_%28info...
r

pdemb

3/19/2007 5:25:00 PM

0

ris <ris22@wytnijmniegazeta.pl> writes:

[...]

>> W gruncie rzeczy to to nie jest zawieranie, tylko zwyk3y zwi?zek.
> http://pl.wikipedia.org/wiki/Agregacja_%28info...

No wiem co to jest agregacja. Tylko ?e z podanego kodu wynika3o, ?e
to zwyk3a asocjacja, a nie agregacja.

ris

3/19/2007 5:27:00 PM

0

Piotr Dembinski napisa3(a):
> ris <ris22@wytnijmniegazeta.pl> writes:
>
> [...]
>
>>> W gruncie rzeczy to to nie jest zawieranie, tylko zwyk3y zwi?zek.
>> http://pl.wikipedia.org/wiki/Agregacja_%28info...
>
> No wiem co to jest agregacja. Tylko ?e z podanego kodu wynika3o, ?e
> to zwyk3a asocjacja, a nie agregacja.
Czy móg3by? wyt3umaczya co to jest ta "asocjacja" bo sie z tym terminem
nie spotka3em. I jak wed3ug Ciebie wygl?da agregacja na przyk3adzie tych
dwóch klas jakie ja napisa3em?
r