Posted By: martas (Ach jo , no jo :-))) on 'CZprogram'
Title:     Re: Java: Implemntace metody v definici tridy?
Date:      Thu Oct 21 12:29:25 2004

> > IMHo mas problemy v OO mysleni. A obecne delat 65k velky soubory je
> zverstvo
> > (ono to obcas jinak nejde, ale...)
> 
> Na zaklade ceho jsi k tomu dosel? :) Fakt je ze sem to nikdy extra
> nestudoval, 
> ale v Delphi sem toho napsal opravdu hodne.ale mozna to Borlandi delaji
> nejak 
> spatne a ja to od nich chytil.

No, Delphi maji k OO programovani dost daleko, spis nuti pohodlneho 
programatora psat strukturovane programy s objektovou syntaxi (vlastni 
nekolikaleta zkusenost). 

> Ja zadnej 65k soubor nevyrobil, to Sunove :) No a me nejak prijde ze je to 
> desive neprehledny... byl jsem zvykly na jazyky kde jsou definice trid 

:-) ..... jestli jsi v Netbeans vytvoril 65k soubor, tak bych rekl ze stejne 
velka by byla i implementace te tridy v C++ nebo Delphi. 4 z 5 javistu by 
doporucili refactoring. 

> oddeleny od samotny implemenace. Jako uzivatele konkretni tridy me zridka 
> zajima jak je to udelany. No zkoumam Javu tri dny... takze fakt tapu :)
> 
> Mam dojem ze k tomu co jsem chtel slouzi 
> 
> public interface ClassName {
> ...

Jo, to by slo. Udelas si knihovnu, kde budes mit tridu ClassName ktera nebude 
public a bude implementovat public interface ClassInterface. Pak si akorat 
udelas jeste tzv. factory tridu, ktera ti vytvori a vrati objekt te tridy.

public interface ClassInterface {
...
}

class ClassName implements ClassInterface {
...
// musi obsahovat vsechny metody nadefinovane v ClassInterface
}

public class ClassNameFactory {
  public static ClassInterface getInstance(){
    return new ClassName();
  } 
}

Ten kdo bude tvoji knihovnu pouzivat, neprijde s tridou ClassName vubec do 
styku, potrebuje pouze ten interface. Akorat teda jestli by ta trida ClassName 
mela mit 65k, tak ji opravdu rozloz do nekolika mensich. 

> 
> Diky
> 
> Semik

Martas

Search the boards