Article View: pl.comp.lang.delphi
Article #346320Re: Referencja klasy - Delphi
From: Roman Tyczka
Date: Fri, 09 Feb 2018 08:54
Date: Fri, 09 Feb 2018 08:54
53 lines
2810 bytes
2810 bytes
On Fri, 9 Feb 2018 02:29:59 +0100, J-23 wrote: > Nic się na grupie za specjalnie nie dzieje a mi potrzeba odświeżyć > pamięć. Bo teraz mało 'skrobie' Delphi/Lazarusie > > mamy klasę SkinManager > > type > TSkinManager = class; > > > type > TSkinManagerClass = of TSkinManager - referencje do klasy Jeśli już to TSkinManagerClass = class of TSkinManager; > mamy klasę Skins > > type > TSkins = class(TComponent) - leży na każdej formie > > I właśnie o referencje mi chodzi, czy dobrze rozumiem, każdy Nowy obiekt > utworzony z klasy TSkins posiada dostęp do referencji TSkinManagerClass > i teraz załóżmy że w TSkinManager posiadam metode do zmiany skórki i > wedłg tego co ja myśle wywołując tę metodę zmienią się skóry na > wszystkich formatkach. Ja nie bardzo rozumiem co kombinujesz. W każdym razie nie ma żadnego związku pomiędzy klasami TSkinManager i TSkins (przynajmniej w tym kodzie jaki tu wkleiłeś). A to czy każdy obiekt TSkins posiada dostęp do typu klasowego TSkinManagerClass zależy od tego czy ten typ będzie publiczny i widoczny (w zasięgu obiektu powstałego z klasy TSkins). Ponadto fakt, że TSkinManagerClass to typ klasowy od typu TSkinManager nie powoduje w żaden magiczny sposób, że zmiana skórki w jednej klasie rozpropaguje się po wszystkich. Bo niby jakim cudem? Tak naprawdę typ klasowy pozwala jedynie przechowywać typ klasy (lub klas potomnych) i np. z niego tworzyć instancje, różne, w zależności od przypisanego typu właściwego. > A skoro tak - o ile nie jest błędne moje myślenie to wytłumaczcie mi > czym ta konstrukcja różni się od Interfejsu bo normalnie to do tego > zadania właśnie użył bym interfejsu, który by zdał 100% egzamin czy ta > konstrukcja ma za zadanie właśnie wyeliminować użycie interfejsu? Czy > może ma jeszcze jakieś właściwości? A już co z tym ma wspólnego interfejs to kompletnie nie wiem. -- pozdrawiam Roman Tyczka
Technical Details
Message-ID:
<q3wvmypqdrqv$.dlg@tyczka.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mailReferences:
<5a7cf997$0$659$65785112@news.neostrada.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail From: Roman Tyczka <noemail@because.no> Newsgroups: pl.comp.lang.delphi Subject: Re: Referencja klasy - Delphi Date: Fri, 9 Feb 2018 09:54:27 +0100 Organization: ATMAN - ATM S.A. Lines: 53 Sender: romek@tyczka.no.found Message-ID: <q3wvmypqdrqv$.dlg@tyczka.com> References: <5a7cf997$0$659$65785112@news.neostrada.pl> NNTP-Posting-Host: 94.75.90.137 Mime-Version: 1.0 X-Trace: node2.news.atman.pl 1518166469 24659 94.75.90.137 (9 Feb 2018 08:54:29 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Fri, 9 Feb 2018 08:54:29 +0000 (UTC) User-Agent: 40tude_Dialog/2.0.15.84 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit