Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

De_Struktor

unregistriert

1

09.07.2013, 16:05

C#: Basisklasse 'Object'

Hallo liebe Community,

Eine signifikante Frage!

Warum leiten sowohl integrale Datentypen als auch Verweistypen von Object?+

Ich habe gelesen, damit wirklich alles als Objekt zu betrachten ist. Aber ich verstehe nicht so den Nutzen dahinter, wäre euch sehr dankbar über professionelle und vernünftige Antworten.


Und BlueCobold reiß dich bitte am Riemann *hust, *hust

LG

DeStruktor

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »De_Struktor« (09.07.2013, 16:15)


Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

2

09.07.2013, 16:18

Guck doch was Object so vorgibt? Dann überleg mal selbst warum es möglicherweise praktisch ist dass wirklich von jedem Typ diese Methoden unterstützt werden.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

3

09.07.2013, 16:24


(Link)
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

De_Struktor

unregistriert

4

09.07.2013, 16:50

So was habe ich gemeint BC:

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

5

09.07.2013, 16:54

Lass dich doch weniger ärgern;)
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

De_Struktor

unregistriert

6

09.07.2013, 17:24

aber die Frau hat da gut möglich viele Gemeinsamkeiten mit dir :D

eine Frage, habt ihr den mit Riemann verstanden^^

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

7

09.07.2013, 17:44

Das ist Katja Riemann. Nur so.
Was "reiß dich am Riemann" sein soll, das bleibt mir aber leider schleierhaft.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

8

09.07.2013, 17:56

Ich denke es ist sinnvoller zum Thema zurück zu kehren. Hast du es jetzt verstanden?
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

9

09.07.2013, 18:18

Wenn man sehen will, was rauskommt, wenn man dies _nicht_ macht, muss man sich einfach nur Java angucken. Da int und String oder MyVeryOwnClass keine gemeinsame Basisklasse oder Schnittstelle besitzen, ist es nicht möglich, diese der gleichen Methode als Parameter zu übergeben (es werden Überladungen für Object und jeden einzelnen primitiven Datentypen benötigt) und Generik lässt sich nicht auf primitive Datentypen anwenden.
Weiterhin können Objekte dieser Typen Methoden besitzen, wie ToString() oder die Operatorüberladungen.
Außerdem dürfte jede enum "ValueType" erweitern (/davon erben), wodurch (anders als mal wieder in Java) es nicht möglich ist, dass null einer solchen Variable zugewiesen werden kann. (Ich hoffe, dass ich mich im enum-Teil nicht irre.)

Mal abgesehen davon hast du bereits erwähnt: man will, wenn man objektorientiert arbeitet, mit Objekten arbeiten.

Auch wenn es ein wenig kleinkariert ist, allerdings denke ich, sollte man in C# von "Wertetypen", nicht von "integralen Typen" oder "primitiven Typen" sprechen, auch wenn diese Begriffe in anderen Sprachen für (fast) das Gleiche verwendet werden.
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

De_Struktor

unregistriert

10

09.07.2013, 18:40

Ich wollte auf Bernhard Riemann den deutschen Mathematiker hinaus, aber zurück zum Topic:

1. Wertetypen bevorzuge ich selber, hatte nur grad integrale im Kopf...
2. Was meinst du mir: Generik lässt sich nicht auf Wertetypen bzw primitive Datentypen anwenden. Sofern du das damit nicht meinst:

List<int> list = new List<int>(//konstruktor);
// das geht sehr wohl, auf jeden Fall in C#!
??
Aber den Rest habe ich verstanden danke auch dafür.

Werbeanzeige