|
You last visited: Today at 17:05
Advertisement
Coders Chit-Chat
Discussion on Coders Chit-Chat within the General Coding forum part of the Coders Den category.
07/14/2015, 19:26
|
#31
|
elite*gold: 0
Join Date: May 2015
Posts: 700
Received Thanks: 445
|
Ich verstehe nicht, was Vererbung und include/import miteinander zu tun haben könnten.
|
|
|
07/14/2015, 19:28
|
#32
|
elite*gold: 74
Join Date: Jul 2010
Posts: 13,408
Received Thanks: 3,943
|
Quote:
Originally Posted by Moneypulation
Ich hab nie richtig verstanden was der unterschied zwischen einer vererbung und einem include/import ist
|
Wo liegen denn in deinen Augen die Überschneidungen? Das sind nun wirklich völlig verschiedene Sachen.
|
|
|
07/14/2015, 22:38
|
#33
|
elite*gold: 0
Join Date: Mar 2015
Posts: 118
Received Thanks: 23
|
Quote:
Originally Posted by Moneypulation
Ich hab nie richtig verstanden was der unterschied zwischen einer vererbung und einem include/import ist
|
Vererbung:
Code:
public class Lebewesen{..}
public class Hund extends Lebewesen {..}
---
Import:
Code:
import meineTierSammlung.Hund;
public class Zoo{
public void erzeugeNeuenHund(){
Hund hund = new Hund();
...
}
}
|
|
|
07/15/2015, 05:36
|
#34
|
elite*gold: 138
Join Date: Apr 2012
Posts: 3,495
Received Thanks: 1,769
|
Quote:
Originally Posted by .StarSplash
Wo liegen denn in deinen Augen die Überschneidungen? Das sind nun wirklich völlig verschiedene Sachen.
|
Beide werden doch genutzt damit die Klasse die methoden und attribute einer anderen klasse kennt
|
|
|
07/15/2015, 08:19
|
#35
|
elite*gold: 0
Join Date: Mar 2015
Posts: 118
Received Thanks: 23
|
Ob man jetzt eine Assoziation oder Vererbung nimmt ist in der Tat manchmal schwierig abzuschätzen.
Kennst du schon abstrakte Klassen (und Interfaces)?
|
|
|
07/15/2015, 08:59
|
#36
|
elite*gold: 138
Join Date: Apr 2012
Posts: 3,495
Received Thanks: 1,769
|
Quote:
Originally Posted by ლʕಠᴥಠʔლ
Ob man jetzt eine Assoziation oder Vererbung nimmt ist in der Tat manchmal schwierig abzuschätzen.
Kennst du schon abstrakte Klassen (und Interfaces)?
|
Ne kenn ich noch nicht
|
|
|
07/15/2015, 10:05
|
#37
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
|
Witzigerweise haben bei UML (um genau zu sein bei Use-Case-Diagrammen) Include und Extend tatsächlich eine starke Ähnlichkeit.
In Java dagegen hat das 0 miteinander zu tun.
Quote:
Beide werden doch genutzt damit die Klasse die methoden und attribute einer anderen klasse kennt
|
Nein, import benutzt du, damit die importierten Namen in deiner Datei sichtbar werden.
Du kannst z.B. immer java.util.List ausschreiben oder du importierst einmal am Anfang java.util.List (wahlweise auch java.util.*) und kannst dann List ohne voll qualifizierten Namen verwenden.
Wenn eine Klasse A von Klasse B erbt, dann kann man sagen, dass A eine Unterart von B ist. Damit erhält sie dieselben Eigenschaften und muss dieselben Erwartungen erfüllen, kann aber zusätzlich noch eigenes, spezielleres Verhalten anbieten.
Sind völlig unterschiedliche Sachverhalte. Das eine ist nur eine Abkürzung für Klassennamen, das andere eine Beziehung zwischen Klassen.
Quote:
Ob man jetzt eine Assoziation oder Vererbung nimmt ist in der Tat manchmal schwierig abzuschätzen.
|
Schwierig ist das eigentlich nicht. Im Zweifel zieht man die Assoziation vor.
|
|
|
07/15/2015, 10:46
|
#38
|
elite*gold: 0
Join Date: Mar 2015
Posts: 118
Received Thanks: 23
|
Quote:
Originally Posted by MrSm!th
In Java dagegen hat das 0 miteinander zu tun.
|
Ist schon klar.
Quote:
Originally Posted by MrSm!th
Schwierig ist das eigentlich nicht. Im Zweifel zieht man die Assoziation vor.
|
Würde ich auch vorschlagen, dadurch erreicht man eine System loser Kopplung.
Das sehen andere natürlich anders.
|
|
|
07/15/2015, 11:48
|
#39
|
elite*gold: 0
Join Date: May 2015
Posts: 700
Received Thanks: 445
|
Quote:
Originally Posted by MrSm!th
Witzigerweise haben bei UML (um genau zu sein bei Use-Case-Diagrammen) Include und Extend tatsächlich eine starke Ähnlichkeit.
|
In den Diagrammen gibt es aber auch eine inherit-Beziehung zwischen Anwendungsfällen, die dann wieder nichts mit include oder extends zu tun hat.
|
|
|
07/15/2015, 17:55
|
#40
|
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
|
Quote:
Originally Posted by ლʕಠᴥಠʔლ
Würde ich auch vorschlagen, dadurch erreicht man eine System loser Kopplung.
Das sehen andere natürlich anders.
|
Assoziation bindet in statischen Sprachen genauso stark wie Vererbung.
|
|
|
07/15/2015, 18:08
|
#41
|
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 572
|
Quote:
Originally Posted by Mostey
Sehr schlechter Programmierstil. Was tust du, wenn du mehrere Handler hast die das KeyDown Event abonnieren? Und noch wichtiger: Wie kannst du wissen, dass keine internen Handler des WinForm Framework ebenfalls das Event abonniert haben?
Und das bisschen Speicher und Performance was da verloren geht, ist nun wirklich nicht maßgebend. Zumindest kommt es da auf die 1 bzw. 4 Byte(s) nun auch nicht wirklich mehr an.
|
Ich kenne mich nicht so gut mit .Net events aus, und bin einfach davon ausgegangen dass es sich dabei um funktionspointer handelt, aber das Beispiel kann man ja auch einfach abändern
Und 1-4 Byte würde ich nicht sagen, 1 Boolen = 1 oder 4 Byte Rücksprungaddresse = Zeiger = 4-8 Byte, Parameter = 2*Zeiger = 2*(4 bzw 8) Byte, die EventArgs Klasse ist auch noch relativ groß.
Klar macht es bei modernen PC's mit 8+ GB Ram nicht viel aus, aber wenn man sparen kann (und dazu noch einen saubereren Programmcode erhält) würde ich das schon tun
PS I Know im late mit diesem Post
|
|
|
07/15/2015, 18:23
|
#42
|
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
|
Quote:
Originally Posted by warfley
Ich kenne mich nicht so gut mit .Net events aus, und bin einfach davon ausgegangen dass es sich dabei um funktionspointer handelt, aber das Beispiel kann man ja auch einfach abändern
|
Wenn du einen Funktionspointer nullst, kann den aber auch niemand mehr aufrufen sofern du mehrere Instanzen hast die ihn speichern.
Quote:
Originally Posted by warfley
Und 1-4 Byte würde ich nicht sagen, 1 Boolen = 1 oder 4 Byte Rücksprungaddresse = Zeiger = 4-8 Byte, Parameter = 2*Zeiger = 2*(4 bzw 8) Byte, die EventArgs Klasse ist auch noch relativ groß.
|
4 + 8 + 2*8 = 28 Bytes
8589934592 / 100 * 28 = 0000000,32596
Nur um dir das visuell nochmal vor Augen zu führen.
Quote:
Originally Posted by warfley
Klar macht es bei modernen PC's mit 8+ GB Ram nicht viel aus, aber wenn man sparen kann (und dazu noch einen saubereren Programmcode erhält) würde ich das schon tun
|
Wenn du so pingelig bist, solltest du es mit .NET gleich lassen und mit Assembler programmieren.
.NET hat seine Stärken nicht in der Performance und alleine die CLR ist bei jedem Programm mit mindestens 20 MB dabei.
|
|
|
07/15/2015, 18:39
|
#43
|
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 572
|
Quote:
Wenn du so pingelig bist, solltest du es mit .NET gleich lassen und mit Assembler programmieren.
.NET hat seine Stärken nicht in der Performance und alleine die CLR ist bei jedem Programm mit mindestens 20 MB dabei.
|
Das hat bei mir gar nicht mal was mit der Performance oder dem Speicher direkt zu tun, ich versuche immer mein Code so reduziert und sauber wie möglich zu halten, unnötige variablen und Calls wegzulassen. Es ist wie Kaugummipapiere, machen auf einem Tisch nicht viel aus, aber wenn sie weg sind ist es doch um Welten schöner (an sich recht lustig, da meine Wohnung aktuell was Papiere und Kleinmüll angeht überschwemmt ist, aber bei Programmcode habe ich es dann doch lieber sauber).
Ich habe auch gelernt je sauberer man arbeitet desto weniger Fehler passieren.
PS: Ich würde wenn ich in Assembler Programmieren würde außerdem nie solch schlanken Code hinbekommen wie der sauberer C Code mit der höchsten Optimierungsstufe des GCC.
|
|
|
07/15/2015, 21:54
|
#44
|
elite*gold: 724
Join Date: Mar 2011
Posts: 10,480
Received Thanks: 3,319
|
Hat jemand von euch schonmal mit Pandas und IPython Notebook gearbeitet?
|
|
|
07/16/2015, 11:59
|
#45
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
|
Quote:
Originally Posted by Mostey
Assoziation bindet in statischen Sprachen genauso stark wie Vererbung.
|
Was ist denn eine "statische Sprache"?
|
|
|
Similar Threads
|
CO 2 Chit-Chat
04/04/2013 - Conquer Online 2 - 3 Replies
Hello,
You are allowed to talk in this thread about all things belonging to CO2.
It does not matter whether you want to ask something or you just want to talk about CO2.
Posts like "lol" are forbidden!
|
All times are GMT +2. The time now is 17:05.
|
|