AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Klassen Methoden

Ein Thema von Luckie · begonnen am 6. Feb 2004 · letzter Beitrag vom 7. Feb 2004
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Klassen Methoden

  Alt 6. Feb 2004, 15:29
Hallo.

Ich schreibe ja gerade an meinem Klassen Tutorial und da hätte ich mal eine Frage, die mir auch meine Bücher nicht beantworten können. Wie Funktionieren Klassen Methoden und wozu sind sie gut? Ein kleines Beispiel zum Verständnis wäre auch nicht schlecht.

Danke schon mal.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Klassen Methoden

  Alt 6. Feb 2004, 16:17
Also die erste Frage ist einfach zu beantworten: Wie funktionieren Klassenmethoden?

Klassenmethoden sind Methoden, die nicht im Kontext eines Objektes ausgeführt werden. Eine Klassenmethode gehört zwar zu einer Klasse, kann aber nicht auf Felder und Methoden einer Instanz (@choose: eines Objekts ) zugreifen, da der Methode ja kein Objekt zugeordnet ist.

In Sprachen wie C# oder Java macht das ganze Konzept auch viel Sinn, denn dort gibt es auch Klassenfelder. Angenommen, ich habe eine Klasse, die ein Auto beschreibt, dann habe ich Objektfelder und -methoden, die ein konkretes Exemplar eines Autos beschreiben, und die Klasse selbst, die nun allgemeine Informartionen über das Auto darstellt, z.B. die Zahl der gebauten Autos. Dort gibt es dann z.B. auch eine Methode, um die Anzahl der gebauten Autos zu erhöhen. Hier ist jede Klasse auch quasi ein Objekt, vereinfacht gesagt.

In der DL, in der es leider keine Klassenfelder gibt, haben für m ich Klassenmethoden eigentlich nur Sinn gemacht, wenn ich mehrere autonome Prozeduren oder Funktionen hab, die keine gegenseitigen Abhängigkeiten haben, aber doch inhaltlich irgendwie zusammengehören. Die pack ich dann in eine Klasse, die Klasse dient hier aber nur als Container, so wie es die Unit bei normalen Prozeduren täte.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#3

Re: Klassen Methoden

  Alt 6. Feb 2004, 16:21
Zitat von Chewie:
In der DL, in der es leider keine Klassenfelder gibt
Na ja, mit DL.NET hat sich das ja glücklicherweise geändert.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Klassen Methoden

  Alt 6. Feb 2004, 16:22
Zitat von Chewie:
Klassenmethoden sind Methoden, die nicht im Kontext eines Objektes ausgeführt werden. Eine Klassenmethode gehört zwar zu einer Klasse, kann aber nicht auf Felder und Methoden einer Instanz (@choose: eines Objekts ) zugreifen, da der Methode ja kein Objekt zugeordnet ist.
[..]
die Klasse dient hier aber nur als Container, so wie es die Unit bei normalen Prozeduren täte.
Das dürfte wohl die essents deines Postings sein.

Dann hat also der Sinn von Klassen Methoden eigentlich durch ihre halbherzige Implementation von Borland ihren eigentlichen Sinn verloren? Denn wenn ich einen Container brauche, dann kann ich ja auch eine neue Unit nehmen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Klassen Methoden

  Alt 6. Feb 2004, 16:22
Zitat von sakura:
Zitat von Chewie:
In der DL, in der es leider keine Klassenfelder gibt
Na ja, mit DL.NET hat sich das ja glücklicherweise geändert.

......

Echt? Hm, wird mal Zeit, dass es ne D8-Trial gibt, um mal zu auszuprobieren, was jetzt alles möglich ist
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Klassen Methoden

  Alt 6. Feb 2004, 16:26
Zitat von Luckie:
Dann hat also der Sinn von Klassen Methoden eigentlich durch ihre halbherzige Implementation von Borland ihren eigentlichen Sinn verloren? Denn wenn ich einen Container brauche, dann kann ich ja auch eine neue Unit nehmen.
Ihren Sinn ganz verloren haben sie meiner Ansicht nach nicht, aber ihre Möglichkeiten sind doch stark eingeschränkt.
Aber mit Sicherheit gibt es noch andere Einsatzzwecke,, die ich nicht kenne, bei denen Klassenmethoden ohne -felder Sinn machen.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#7

Re: Klassen Methoden

  Alt 6. Feb 2004, 16:31
Zitat von Chewie:
Aber mit Sicherheit gibt es noch andere Einsatzzwecke,, die ich nicht kenne, bei denen Klassenmethoden ohne -felder Sinn machen.
Im Zweifel kann man ja die Klassenfelder innerhalb des Implementation-Teil als Variablen deklarieren

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Klassen Methoden

  Alt 6. Feb 2004, 16:32
Zitat von sakura:
Im Zweifel kann man ja die Klassenfelder innerhalb des Implementation-Teil als Variablen deklarieren
Stellen sich da nur bei mir die Fußnägel hoch?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Klassen Methoden

  Alt 6. Feb 2004, 16:42
Zitat von Luckie:
Zitat von sakura:
Im Zweifel kann man ja die Klassenfelder innerhalb des Implementation-Teil als Variablen deklarieren
Stellen sich da nur bei mir die Fußnägel hoch?
Eine Möglichkeit ist es schon, besonders, wenn sich innerhalb eines Objektes sich ein Zeiger auf diese globale Variable als Klasseninstanz befindet, um wieder halbwegs OO-konform zu werden. Work-arounds sind oft schmutzig, aber manchmal muss die Drecksarbeit halt gemacht werden
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Klassen Methoden

  Alt 6. Feb 2004, 16:43
Zitat von Chewie:
Work-arounds sind oft schmutzig, aber manchmal muss die Drecksarbeit halt gemacht werden
Wäre was für eine Signatur.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz