🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #12223

Poczatkujacy w programowaniu OO

#12223
From: Rafal
Date: Sun, 28 Aug 2005 12:14
65 lines
2766 bytes
Dopiero zaczynam zabawe z programowaniem obiektowym i mam narazie takie
pytanie:

Chce sobie caly program zamknac w jednym obiekcie, a pozniej w programie
glownym wywolac raptem pare linijek.
Robie wiec tak ze tworze biblioteke w ktorej mam definicje wszystkich klas
potrzebnych mi do stworzenia tej jednej.

Mam taki uklad:

klasa PROGRAM zawiera m.in. obiekty klasy OB1 i OB2
klasa OB1 zawiera obiekty klas OB1-1 i OB1-2
natomiast klasa OB1-1 zawiera obiekty klas OB1-1-1 i OB1-1-2


PROGRAM
    |    \
    |     \
  OB1     OB2
  /    \
OB1-1 OB1-2
/     \
OB1-1-1 OB1-1-2

(To nie jest dziedziczenie tylko uklad obiektow)

Program glowny wyglada mniej wiecej tak:

//------------------------------------------
#include "biblioteka.h"

int main() {
    PROGRAM program1;

    program1.run();

    return 0;
}
//------------------------------------------

Chcialbym teraz w pewnej metodzie klasy OB1-1-1 odwolac sie do obiektu klasy
OB2 znajdujacego sie w strukturze jak powyzej.
Nie moge tego zrobic gdyz w bibliotece nie istnieje obiekt klasy PROGRAM
wiec i brak obiektu wchodzacego w jego sklad (klasy OB2). Odwolanie
PROGRAM::OBiekt2 nie daje mi pelnych mozliwosci.
Jak to sie powinno najladniej robic? :)

Czy z najwyzszych w hierarchi obiektow przekazywac nizej informacje o
OBiekt2 (wskaznik, referencja)  w liscie argumentow metod?  <chyba troche
niejasno sie wyrazam>
Praktycznie w kazdej klasie korzystam z obiektu PROGRAM::OBiekt2 wiec bylby
on przekazywany w prawie kazdym wywolaniu metod tych klas - troche
niweygodne.



Ps. Czy taki styl programowania (zamykanie calego programu w jednej klasie
ktora ma raptem pare metod (1, 2, 3),  w ktorych korzysta sie z obiektow
znajdujacych sie krok nizej w hierarchi, ktore to obiekty wywoluja
znajdujace sie jeszcze nizej, itd ..., to dobry styl programowania?



Pozdrawiam
Rafal
Technical Details
Message-ID: <des9dq$27d$1@nemesis.news.tpi.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
From: "Rafal" <rl@nospam.adrem.pl>
Newsgroups: pl.comp.objects
Subject: Poczatkujacy w programowaniu OO
Date: Sun, 28 Aug 2005 14:14:46 +0200
Organization: tp.internet - http://www.tpi.pl/
Lines: 68
Message-ID: <des9dq$27d$1@nemesis.news.tpi.pl>
NNTP-Posting-Host: pb37.chelm.cvx.ppp.tpnet.pl
X-Trace: nemesis.news.tpi.pl 1125230842 2285 213.77.195.37 (28 Aug 2005 12:07:22 GMT)
X-Complaints-To: usenet@tpi.pl
NNTP-Posting-Date: Sun, 28 Aug 2005 12:07:22 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2600.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit