Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 17:05

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Coders Chit-Chat

Discussion on Coders Chit-Chat within the General Coding forum part of the Coders Den category.

Reply
 
Old 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.
algernong is offline  
Old 07/14/2015, 19:28   #32
 
.StarSplash's Avatar
 
elite*gold: 74
The Black Market: 185/0/0
Join Date: Jul 2010
Posts: 13,408
Received Thanks: 3,943
Quote:
Originally Posted by Moneypulation View Post
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.
.StarSplash is offline  
Old 07/14/2015, 22:38   #33
 
ლʕಠᴥಠʔლ's Avatar
 
elite*gold: 0
Join Date: Mar 2015
Posts: 118
Received Thanks: 23
Quote:
Originally Posted by Moneypulation View Post
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();
      ...
   }
}
ლʕಠᴥಠʔლ is offline  
Old 07/15/2015, 05:36   #34


 
Moneypulation's Avatar
 
elite*gold: 138
Join Date: Apr 2012
Posts: 3,495
Received Thanks: 1,769
Quote:
Originally Posted by .StarSplash View Post
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
Moneypulation is offline  
Old 07/15/2015, 08:19   #35
 
ლʕಠᴥಠʔლ's Avatar
 
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)?
ლʕಠᴥಠʔლ is offline  
Old 07/15/2015, 08:59   #36


 
Moneypulation's Avatar
 
elite*gold: 138
Join Date: Apr 2012
Posts: 3,495
Received Thanks: 1,769
Quote:
Originally Posted by ლʕಠᴥಠʔლ View Post
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
Moneypulation is offline  
Old 07/15/2015, 10:05   #37


 
MrSm!th's Avatar
 
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.
MrSm!th is offline  
Thanks
1 User
Old 07/15/2015, 10:46   #38
 
ლʕಠᴥಠʔლ's Avatar
 
elite*gold: 0
Join Date: Mar 2015
Posts: 118
Received Thanks: 23
Quote:
Originally Posted by MrSm!th View Post
In Java dagegen hat das 0 miteinander zu tun.
Ist schon klar.

Quote:
Originally Posted by MrSm!th View Post
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.
ლʕಠᴥಠʔლ is offline  
Old 07/15/2015, 11:48   #39
 
elite*gold: 0
Join Date: May 2015
Posts: 700
Received Thanks: 445
Quote:
Originally Posted by MrSm!th View Post
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.
algernong is offline  
Old 07/15/2015, 17:55   #40


 
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
Quote:
Originally Posted by ლʕಠᴥಠʔლ View Post
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.
Mostey is offline  
Old 07/15/2015, 18:08   #41
 
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 572
Quote:
Originally Posted by Mostey View Post
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
warfley is offline  
Old 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 View Post
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 View Post
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 View Post
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.
Mostey is offline  
Old 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.
warfley is offline  
Old 07/15/2015, 21:54   #44

 
snow's Avatar
 
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?
snow is offline  
Old 07/16/2015, 11:59   #45


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,904
Received Thanks: 25,394
Quote:
Originally Posted by Mostey View Post
Assoziation bindet in statischen Sprachen genauso stark wie Vererbung.
Was ist denn eine "statische Sprache"?
MrSm!th is offline  
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.