AGB  ·  Datenschutz  ·  Impressum  







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

Delphi <> Java : static class

Ein Thema von Bomberbb · begonnen am 11. Jul 2007 · letzter Beitrag vom 12. Jul 2007
Antwort Antwort
Seite 1 von 2  1 2      
Bomberbb

Registriert seit: 23. Sep 2003
227 Beiträge
 
#1

Delphi <> Java : static class

  Alt 11. Jul 2007, 10:24
Hallo,
ich lerne z.Zt. Java und oop. Ich würde gerne ein wenig erlerntes nun auch in Delphiprogrammen unterbringen.

Ich würde nun gerne die Variablen als Objekt defnieren, so dass ich z.B.
Methoden wie

MyString.ConvertFromInt(10);

definieren und aufrufen kann. Bei java gibt es nun das schlüsselwort 'static', so dass auf Objekte der Klasse auch ohne vorheriges Erzeugen (new) zugegriffen werden kann. Gibt es in Delphi(5) etwas ähnliches oder muss ich immer mit 'MyString.create' und 'MyString.free' arbeiten.

Gruß

BomberBB
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Delphi <> Java : static class

  Alt 11. Jul 2007, 10:26
Es gibt zwar keine statiische Klassen aber statische Methoden, welche in Delphi Klassenmethoden heißen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Delphi <> Java : static class

  Alt 11. Jul 2007, 10:41
Hi Bomberbb,

Delphi-Quellcode:
type
  TClass = class(TObject)
  public
    class function GetSomething: String;
  end;

class function TClass.Getsomething: String;
begin
  Result := 'Something';
end;

// ......

ShowMessage(TClass.GetSomething);
so kannst du es direkt aufrufen, ohne erst mit TClass.Create bzw. .Free zu arbeiten.
  Mit Zitat antworten Zitat
Bomberbb

Registriert seit: 23. Sep 2003
227 Beiträge
 
#4

Re: Delphi <> Java : static class

  Alt 11. Jul 2007, 12:01
Nun, wenn ich nur Methoden aufrufe hat das bei mir auch schon funktioniert.
Wie aber bekomme ich das auch mit Attributen hin.

Habe mit das so gedacht...
Delphi-Quellcode:
type
  TClass = class(TObject)
  private
    value :String;
  public
    class function GetSomething: String;
  end;

class function TClass.Getsomething: String;
begin
  Result := 'GetsomeThing';
end;

// ......
var
  test: TClass;
Begin
  ShowMessage(test.GetSomething);
  test.value:=5; //hier kommt ohne Create die Zugriffsverletzung
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

Re: Delphi <> Java : static class

  Alt 11. Jul 2007, 12:28
Klassen-Eigenschaften/Variablen/Konstanten gibt es erst ab Delphi 2006.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Delphi <> Java : static class

  Alt 11. Jul 2007, 13:09
...du kannst die Variablen allerdings in einen globalen Record auslagern, was dann ungefähr so ähnlich ist wie eine Klassenvariable. (zumindest so ähnlich aussieht. )
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Bomberbb

Registriert seit: 23. Sep 2003
227 Beiträge
 
#7

Re: Delphi <> Java : static class

  Alt 11. Jul 2007, 14:10
@ 3_of_8
Mir gehts im wesentlichen um die Vererbung, die bei Rekords ja nicht gegeben ist.

@jbg wie sähe das denn aus unter 2006: bin eh am überlegen, ob ich mir Turbodelphi kaufe.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Delphi <> Java : static class

  Alt 11. Jul 2007, 14:31
Zitat:
wie sähe das denn aus unter 2006:
Win unter #2+#3 beschrieben
Markus Kinzler
  Mit Zitat antworten Zitat
Oxmyx

Registriert seit: 21. Sep 2004
499 Beiträge
 
#9

Re: Delphi <> Java : static class

  Alt 11. Jul 2007, 14:54
Man kann eine Klasse in Java zwar als static deklarieren, allerdings hat dies einen anderen Effekt: Dadurch wird eine verschachtelte Klasse zu einer Top-Level-Klasse erhoben.
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#10

Re: Delphi <> Java : static class

  Alt 11. Jul 2007, 18:11
Zitat von Bomberbb:
@jbg wie sähe das denn aus unter 2006: bin eh am überlegen, ob ich mir Turbodelphi kaufe.
Delphi-Quellcode:
type
  TTest = class(TObject)
  private class var
    FMyProp: Integer;
    FMySecondProp: string;
  public
    class function DoSomething: Integer; static; { eine echte statische Methode ohne versteckten Self: TClass Parameter }
    class property MyProp: Integer read FMyProp write FMyProp;
    class property MySecondProp: string read FMySeondProp write FMySecondProp;
  end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 00:40 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