Jump to content

redstav

Mitglieder
  • Gesamte Inhalte

    8
  • Benutzer seit

  • Letzter Besuch

Letzte Besucher des Profils

Der "Letzte Profil-Besucher"-Block ist deaktiviert und wird anderen Benutzern nicht angezeit.

  1. Merci! Hilfreich wie immer! Freundliche Grüße
  2. @0x00Sweet! Praktisches Beispiel. Macht Sinn. Merci. @KeeperOfCoffeeInterfaces verstehe ich als Vertrag. Alle Klassen die das Interface implementieren müssen die im Vertrag genannten Punkte erfüllen. Diese sind aber noch nicht konkretisiert. Abstrakte Klassen verstehe ich als abstraktes Konzept für Gruppen. Beispiel: Publikationen(abstrakt) -> Bücher, Magazine, Zeitungen, Artikel... Das Konzept gibt Eigenschaften und Methodiken vor die sich alle Elemente der Gruppe erstmal grundlegend Teilen. @Whiz-zarDIch werde zusehen dass ich mir das angewöhne. Bin von Anfang an um CCD Praktiken bemüht soweit ich die Konzepte begreife, zumindest wenn ich nicht schnell noch die Frage in ein Forum werfen will bevor ich an dem Tag zu nichts mehr komme..^^ Abgesehen von der Bonus Frage zum Boxin und Unboxing wars das denke ich. Herzlichen Dank für die Antworten!
  3. TipTop. Läuft. Jetzt fehlt mir allerdings immer noch die Kreativität und die Erfahrung warum ich überhaupt jemals Shape x = Square/Circle verwenden sollte... Am Ende zwei "gleiche" Objekte unterschiedlichen Typs zu haben(Shape x1 = Square & Square x2 = Square) ist ja auch nur umständlich und bietet mehr als genug Raum für Fehlerquellen kann ich mir vorstellen.
  4. Guten Morgen die Herren und Damen! Ja, meine Frage bezieht sich auf Vererbung. Dennoch sehr interessant etwas über boxing zu lesen. Bonusfrage zum Exkurs, wenn ich dynamisch mit Code eine solche Liste mit Objekten befülle die unterschiedlichste Datentypen aufweisen, wie bekomme ich es hin diese Fachgerecht wieder dynamisch zu unboxen? Ist für mich aktuell nicht wichtig aber am Ende vom Tag schlauer zu sein hat noch nicht geschadet. Zurück zum Thema: Ich muss mich für meinen Code entschuldigen, der ist zwischen Tür und Angel entstanden. Da ist dein Beispiel deutlich schöner. Das Grundlegende Prinzip der Vererbung, warum das eine feine Sache sein kann und warum man von abstrakten Klassen spricht habe ich begriffen denke ich. Dennoch.. Besonders der letzte Part ist für mich von Interesse. Mich interessiert welchen Anwendungsfall es für Shape x = Square gibt. Weil Screen ja auch ein Square y = Square als Shape anerkennt. Jetzt habe ich meinem FtStudenten noch einen Namen verpasst(ähnlich deinem "Width") und siehe da, ich kann auf den Namen nicht zugreifen. Wie erwartet. Interessant wird es dann aber beim Objekttyp "casten"(ist das casten? Ich bin mir nicht sicher. Keine ganze Typ umwandlung aber irgendwie doch). Das geht bei mir nicht. Studenten s1 = new FtStudent("Eberhard"); Console.WriteLine(s1.name); //geht nicht. Wie erwartet. FtStudent s2 = s1; //Das dürfte deinem Square s2 = s1; entsprechen, geht aber nicht. Console.WriteLine(s2.name); //ohne s2 kommen wir garnicht soweit Fehler CS1061 "Studenten" enthält keine Definition für "name", und es konnte keine zugängliche name-Erweiterungsmethode gefunden werden, die ein erstes Argument vom Typ "Studenten" akzeptiert (möglicherweise fehlt eine using-Direktive oder ein Assemblyverweis) Fehler CS0266 Der Typ "Student.Studenten" kann nicht implizit in "Student.FtStudent" konvertiert werden. Es ist bereits eine explizite Konvertierung vorhanden (möglicherweise fehlt eine Umwandlung) Grüße
  5. Moin ihr Guten, ich dachte ich hätte die Initialisierung von Objekten verstanden bis ich vor kurzem einen abgefahrenen fortgeschritteneren Code gelesen habe.(War bestimmt nicht so krass aber hat Dinge angestellt die mir neue waren. Hab mich jetzt damit auseinandergesetzt was bei "Objekttyp objekt = new Constructor" genau abgeht. Mir war zum beispiel nicht explizit klar dass ersteres der Objekttyp und letzteres der Constructor ist. Jetzt hab ich anhand eines Beispiels eines Buches kurz rumprobiert, so lernt man ja bekanntlich am besten und am nachhaltigsten.. ich zumindest.. und bin auf den Fall gestoßen: Eine Abstrakte SuperKlasse (ASK) (Studenten), Zwei SubKlassen(SK) (FtStudent, PtStudent) und eine Klasse(E) die Objekte(O) der ASK entgegennimmt. Den Code dazu gibt es gleich unten. ASK O = new ASK geht offensichtlicherweiße nicht. ASK ist abstrakt. Die Kombination SK O = new SK kann im Prinzip alles machen und wird von E auch als Objekt von ASK erkannt. ASK O = new SK... O lässt sich erzeugen mit dem SK Constructor. Das Objekt ist aber vom Typ ASK... Sollte doch eigentlich nicht gehen weil ASK Abstrakt ist und eigentlich mehr eine Idee als ein reales Objekt wäre. O kann in diesem Fall auch keine Methoden von SK verwenden. Ist ja die übergeordnete Klasse. Macht irgendwie Sinn denke ich. Warum sollte ich es jedoch mit SK konstruieren wenn ich die Methoden etc ohnehin nicht nutzen kann. Und wenn der Compiler direkt versteht dass die SubKlassen zur Abstrakten SuperKlasse gehören und sie entgegennimmt, warum versteht das Objekt nicht Welche Anwendungsfälle gäbe es den in denen das nützlich wäre? (Die Zahlen sind pure Willkür. Die namen im Prinzip auch. Die Logik wie der Compiler mit dem ganzen umgeht ist für mich das hier interessante.) Grüße und schon mal vielen Dank für euren Input und eure Zeit! namespace Student { abstract class Studenten { int loan; public int Loan { get { return loan; } set { loan = value; } } public int getLoan() { return loan; } public void PrintTimetable() { Console.WriteLine("Timetable"); } } class PtStudent : Studenten { public void ApplyForJob() { Loan -= 200; } } class FtStudent : Studenten { public void ApplyForLoan() { Loan += 200; } } class Lecturer { public void Help(Studenten s) { s.Loan += 500; } } } namespace Student { class Program { static void Main(string[] args) { Studenten s = new FtStudent(); Lecturer L = new Lecturer(); FtStudent d = new FtStudent(); Studenten e = new PtStudent(); PtStudent f = new PtStudent(); Console.WriteLine("S S-FT"); s.PrintTimetable(); L.Help(s); //+200 Console.WriteLine(s.getLoan()); Console.WriteLine("D FT-FT"); d.PrintTimetable(); d.ApplyForLoan(); //+200 Console.WriteLine(d.getLoan()); L.Help(d); //+500 Console.WriteLine(d.getLoan()); Console.WriteLine("E S-PT"); e.PrintTimetable(); L.Help(e); //+500 Console.WriteLine(e.getLoan()); Console.WriteLine("F PT-PT"); f.PrintTimetable(); f.ApplyForJob(); //-200 Console.WriteLine(f.getLoan()); L.Help(f); //+500 Console.WriteLine(f.getLoan()); Console.ReadKey(); /* Geht nicht. * Studenten x = new Studenten(); Abstrakt, macht Sinn. * s.ApplyForLoan(); * e.ApplyForJob(); */ } } }
  6. Ich verstehe den Hintergrundgedanken mir meine eigenen Tools zu schmieden, allerdings klingt das für mein laienhaftes Ohr nach ähnlich viel Aufwand wie das vor mir liegende Projekt. Vielleicht aber etwas das ich mir in Zukunft mal antun werde. Vielen Dank für den Tipp. Tatsächlich sind hier die Namen einige Editoren etc. gefallen die mir bisher unbekannt sind. Ist auf die Liste der zu recherchierenden Dinge gesetzt! Jeden Tag lerne ich mehr und mehr was ich nicht weiß. Sehe mich hier definitiv als Anfänger/Amateur. Aber das Gute daran ist, jeden Tag lerne ich wo ich ansetzen kann um mich weiterzuentwickeln: @tkreutz2Das Gerät wurde mir als "Universelles Kleinststeuergerät" präsentiert. Ist sehr kompakt, hat einen 9 Pin Stecker, genau eine Analoge Schnittstelle zur Konfigurationudn ist trotzdem auf Seiten der Hardware sehr umfassend ausgestattet so dass am Ende hoffentlich jegliche Anforderung an Funktionalität erfüllt werden kann. Was jetzt tatsächlich das "Kleinsteuergerät" zum "KleinSTsteuergerät" macht ist mir nicht klar. Werde ich mal erfragen! Mir ist klar das universell so eine Sache ist.. Ginge es nach mir würde ich es: "Im Rahmen der physikalischen Grenzen die auf diesem kleinen Raum gegeben sind doch sehr umfangreich konfigurierbares, sehr kleines Steuergerät" nennen. Mit Hostsystem meinst du das OS auf dem ich programmiere oder die Software/Treiber des Mikroprozessors? Ersteres wäre Windows 10. Letzteres ist mir auch noch nicht ganz klar. Hab eine Aufgabenstellung, ein Gerät und bin grade noch viel am Grundlagenwissen aufbauen. @KeeperOfCoffeeWarum genau fragst du dich ob nicht C++ gemeint ist? Vielleicht übersehe ich ja was. Aber mir wurde bisher gesagt dass ich wahrscheinlich primär mit C und C# in Kontakt kommen werde. Wie gesagt, bin da Amateur aber immer offen für neuen Input. @spixWarum genau ist Eclipse deiner Meinung nach nichts für die professionelle Anwendung? Gibt genug große Firmen die Eclipse zur Softwareentwicklung mit Java nutzen. Vielen Dank für die zahlreichen Antworten! Grüße PS: Die ursprüngliche Frage hat sich geklärt. Ich werde wohl eine Version von Visual Studio vorgegeben bekommen damit die Hochschule das Projekt am Ende entsprechend Ihren Standards zukunftsorientiert pflegen kann. Dennoch ein spannendes Thema mit dem ich mich zum ersten mal auseinandersetze. Für Klausuren war die Umgebung bisher immer ohne große Erklärung vorgegeben.
  7. Aktuell tendiere ich auch zu Visual Studio oder Eclipse. Bin mir aber nicht sicher ob ich den gesamten Umfang des Projekts einschätzen kann und wo im späteren Verlauf die Vor- und Nachteile liegen. Warum genau würdest du Visual Studio empfehlen?
  8. Hallo liebe Leute, ich studiere aktuell Informatik, bearbeite ein Projekt und stehe schon am Anfang vor einer größeren Hürde. Gesucht ist eine Entwicklungsumgebung die idealerweise alles unter ein Dach bringt. Der Plan ist es eine Konfigurationsplatform für ein universelles Kleinststeuergerät zu programmieren. Sprich: Anwendungssoftware(GUI) auf Seiten des PCs, Use Cases, tabellarisches Parametrieren und Basissoftware/Anwendungssoftware auf Seiten des Geräts. Bisher nehme ich an dass das ganze idealerweise in C und C# zu realisieren ist. Sollte ich mich irren, oder Ihr einen besseren/erweiterten Ansatz haben, immer her damit. Hat jemand von euch eine klevere Idee? Freundliche Grüße und gutes Gelingen!

Fachinformatiker.de, 2019 SE Internet Services

fidelogo_small.png

if_icon-6-mail-envelope-closed_314900.pnSchicken Sie uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App


Get it on Google Play

Kontakt

Hier werben?
Oder senden Sie eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...

Wichtige Information

Fachinformatiker.de verwendet Cookies. Mehr dazu in unserer Datenschutzerklärung