Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 07:36 28.06.24 
Компютри и Интернет
   >> Java
*Кратък преглед

Тема psevdo abstraktni klasove?нови  
Автор voyager (pathfinder)
Публикувано08.07.02 14:26



Za6to slednoto se kompilira:
JFileChooser j=new JFileChooser();
j.setFileView(new FileView(){});

sled kato FileView e abstrakten klas? Poglednah dokumentaciqta i vidqh 4e vsy6tnost FileView e deklariran kato abstrakten, no nqma abstraktni metodi. Qvno zatova ne dava gre6ka. No za6to togava klasyt e abstrakten?
Nqkoi popadal li e na ne6to podobno i dokumentirano li e tova?

The things are awlays changing, I feel that it`s allright



Тема Re: psevdo abstraktni klasove? [re: voyager]  
Автор josarjan ()
Публикувано08.07.02 17:11



new FileView(){}

тоя ред ти създава анонимен (май така беше) клас, който наследява/реализира класа/интерфейса FileView.



Тема da, oba4eнови [re: josarjan]  
Автор voyager (pathfinder)
Публикувано08.07.02 17:34



pri nasledqvane na abstrakten klas trqbva da se definirat abstraktnite metodi. A nai-strannoto e 4e za FileView ima dve razli4ni dokumentacii:
JavaTM 2 Platform
Standard Edition vsi4ki metodi sa dadeni kato abstraktni. T.e. az trqbva da gi realiziram, ako iskam nasledqva6tiq klas da ne byde abstrakten i sledovatelno da moje da se instancira. Sledovatelno new FileView(){} ne bi trqbvalo da se kompilira, vypreki 4e e vytre6en anonimen klas.
v JavaTM 2 Platform
Std. Ed. v1.4.1 pyk nito edin metod ne e daden kato abstrakten. Tuk izglejda vyzmojno da se instancira, no typoto e, 4e klasyt vse pak e deklariran kato abstrakten v dokumentaciqta!

music non stop



Тема Re: psevdo abstraktni klasove?нови [re: voyager]  
Авторruru (Нерегистриран)
Публикувано08.07.02 17:39



new FileView(){}
Kompilira zaradi { }.Priema 4e predefinira6 klasa. Toi si e abstracten.
Triabva da se implantira za da se izpolzva.A kak se izpolzva moje6 da vidi6 v repertoira na tvoia jdk:
SDK/demo/jfc/FileChooserDemo/src



Тема Re: psevdo abstraktni klasove?нови [re: ruru]  
Автор voyager (pathfinder)
Публикувано08.07.02 18:01



:( tva go gledah. Problema mi ne e v izpolzvaneto. To se kompilira i si raboti. Problemyt e 4isto teoreti4n - spored mene ne bi trqbvalo da e taka. Pi4ovete v primera na SDK sa raz6irili abstraktniq class i sa rezlizrali metodite mu. Sled tova instancirat raz6ireniq klas, koito ve4e ne e abstrakten. A az ne implementiram kiorav metod. vqrno, instanciram vytre6no ne samiqt FileView, a negov naslednik. Samo 4e sled kato nqsledqva6tiq klas ne definira abstraktnite metodi, toi sy6to e abstrakten. I ne moje da se instancira. Zatova new FileView(){} ne bi trqbvalo da se kompilira.
Edinstvenoto obqsnenie e, 4e avtomati4no se syzdavat prazni realizacii na abstraktnite metodi. No tova nikyde ne e dokumentirano :( Pone az ne sm go vijdal.

Taka de, sled tolkova prikazki, misylta mi e, 4e tyrsq teoreti4no obqsnenie na problema, koito mi se struva adski stranen...

дао дъ дзин



Тема Ами точно,нови [re: voyager]  
Автор josarjan ()
Публикувано08.07.02 18:05



защото няма абстрактни методи, затова успява да се компилира, т.е. не е необходимо да наследяваш каквото и да е - просто няма такива методи, които трябва да се наследят задължително.

В случая тоя клас (FileView) се отличава от нормалните класове единствено по това, че не може да се създават обекти от него.

Виж не знам каква е точно дефиницията на абстрактен клас в Java - в C++ абстрактен клас е клас, който има поне една pure-virtual функция (май така беше). В Java явно не е така (тук abstract може да обявиш самия клас). Сигурно дефиницията е, че не не можеш да създаваш обекти от тоя клас (не съм много сигурен).



Тема Re: psevdo abstraktni klasove?нови [re: voyager]  
АвторvALE (Нерегистриран)
Публикувано09.07.02 02:14



"Samo 4e sled kato nqsledqva6tiq klas ne definira abstraktnite metodi, toi sy6to e abstrakten." - tuk rabotata e takawa che naslediawashtia (w sluchaia anonimen klas) klas niama nujda da implementira nishto zashtoto metodite na FileView si imat defaultna implementacia. Sledowatelno anonimnia klas koito naslediawa tozi FileView ne e abstrakten i moje da se prawi instatiation.

cheers



Тема Re: psevdo abstraktni klasove?нови [re: vALE]  
Автор voyager (pathfinder)
Публикувано09.07.02 10:03



ami da! Ti si prav vsy6tnost. Namerih otgovora v specifikaciqta na ezika:
"8.1.1.1 abstract Classes

An abstract class is a class that is incomplete, or to be considered incomplete"
Strannoto e vse pak, 4e nikyde ne e qsno dokumentirano, 4e edin class moje da byde deklariran kato abstrakten, bez v deistvitelno da e takyv /*t.e. da ima abstraktni metodi */.

10x na vsi4ki vse pak, izqsnihme vyprosa

"Така е то", казват тралфамадорците, когато някой умре




*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.