geo1st487 Δημοσ. 23 Αυγούστου 2009 Δημοσ. 23 Αυγούστου 2009 Ποσο συχνα χρησιμοποιειτε την κληρονομικοτητα και τον πολυμορφισμο στις εφαρμογες σας;
Επισκέπτης Δημοσ. 23 Αυγούστου 2009 Δημοσ. 23 Αυγούστου 2009 Και τι πας να βγάλεις με τέτοια ερώτηση; Η θεωρεία του ΟΟP λέει να τα χρησιμοποιήσεις όπου μπορείς-υπάρχει ανάγκη... Η πράξη, όπως και σε όλα τα πράγματα άλλωστε, λέει να το κάνεις οπότε μπορείς... Άρα το θέμα είναι πάντα αν σε παίρνει να ακολουθήσεις την σωστή οδό...(χρόνος/ κόστος/ έλλειψη γνώσης πάνω σε OOP/ (συμπλήρωσε εσύ...)) κάτι που πάντα είναι υποκειμενικό για τον καθένα μας...
geo1st487 Δημοσ. 23 Αυγούστου 2009 Μέλος Δημοσ. 23 Αυγούστου 2009 Και τι πας να βγάλεις με τέτοια ερώτηση;Η θεωρεία του ΟΟP λέει να τα χρησιμοποιήσεις όπου μπορείς-υπάρχει ανάγκη... Η πράξη, όπως και σε όλα τα πράγματα άλλωστε, λέει να το κάνεις οπότε μπορείς... Άρα το θέμα είναι πάντα αν σε παίρνει να ακολουθήσεις την σωστή οδό...(χρόνος/ κόστος/ έλλειψη γνώσης πάνω σε OOP/ (συμπλήρωσε εσύ...)) κάτι που πάντα είναι υποκειμενικό για τον καθένα μας... Σ Ω Σ Τ Ο Σ ! Θελω να πω ποσο συχνα υπαρχει αναγκη και μπορειτε να τα χρησιμοποιεισετε στις εφαρμογες που κανετε;
StavrosD Δημοσ. 23 Αυγούστου 2009 Δημοσ. 23 Αυγούστου 2009 Ποσο συχνα χρησιμοποιειτε την κληρονομικοτητα και τον πολυμορφισμο στις εφαρμογες σας; Πολύ συχνά, και έχει τύχει σε μια εφαρμογή να χρησιμοποιήσω και κληρονομικότητα πάνω των 2 επιπέδων. Σχεδόν όλοι οι προγραμματιστές σε .NET χρησιμοποιούν την κληρονομικότητα, αλλά χωρίς να το ξέρουν. Σας θυμίζει κάτι; >Public Partial Class Default Inherits System.Web.UI.Page ...
Evgenios1 Δημοσ. 24 Αυγούστου 2009 Δημοσ. 24 Αυγούστου 2009 Σχεδόν όλοι οι προγραμματιστές σε .NET χρησιμοποιούν την κληρονομικότητα, αλλά χωρίς να το ξέρουν. Σας θυμίζει κάτι; >Public Partial Class Default Inherits System.Web.UI.Page ... Το καλυτερο παραδιγμα ειναι το πιο απλο class foo{} η "struct fee{}" Για .net λεω. foo -> based Object fee -> based ValueType -> based Object.
jtsc21 Δημοσ. 24 Αυγούστου 2009 Δημοσ. 24 Αυγούστου 2009 inheritance και polymorphysm σε classes ειναι βασικη ιδεα του oop.οποτε οταν προγραμματιζεις με oop λογικη τα χρησιμοποιεις συχνα τωρα το ποσο συχνα εξαρταται απο τις αναγκες του καθενος, τις γνωσεις του και απο το ειδος της εφαρμογης που φτιαχνει
StavrosD Δημοσ. 24 Αυγούστου 2009 Δημοσ. 24 Αυγούστου 2009 Το καλυτερο παραδιγμα ειναι το πιο απλοclass foo{} η "struct fee{}" Για .net λεω. foo -> based Object fee -> based ValueType -> based Object. Το παράδειγμα που έδωσα είναι ο κώδικας που υπάρχει σε όλα τα .aspx.vb αρχεία. Με το που φτιάχνεις μια σελίδα δημιουργείται το πρώτο επίπεδο κληρονομικότητας.
Evgenios1 Δημοσ. 25 Αυγούστου 2009 Δημοσ. 25 Αυγούστου 2009 Το πρωτο ειναι η class. Για τη System.Web.UI.Page ειναι η τριτη (και στο παραδειγμα σου πας στη τεταρτη). Κανε ενα reflect για να δεις. ΥΓ: Το Object ειναι class. Τσεκαρε αυτο >[color="#0000ff"][b]using[/b][/color] System; [color="#0000ff"][b]namespace[/b][/color] ConsoleApplication1 { [color="#0000ff"][b]class[/b][/color] Program { [color="#0000ff"][b]static[/b][/color] [color="#0000ff"][b]void[/b][/color] Main([color="#8000ff"]string[/color][] args) { [color="#2b91af"]Console[/color].WriteLine([color="#a31515"]"Foo Class:"[/color]); Print([color="#0000ff"][b]typeof[/b][/color](Foo)); [color="#2b91af"]Console[/color].WriteLine([color="#a31515"]"Fee Struct:"[/color]); Print([color="#0000ff"][b]typeof[/b][/color](Fee)); [color="#2b91af"]Console[/color].WriteLine([color="#a31515"]"Anonymous Type:"[/color]); Print( ( [color="#0000ff"][b]new[/b][/color] { POV = [color="#0000ff"][b]new[/b][/color] { x = [color="#ff8000"]0[/color], y = [color="#ff8000"]1[/color], z = [color="#ff8000"]1[/color] } } ).GetType() ); [color="#2b91af"]Console[/color].WriteLine([color="#a31515"]"Page Class:"[/color]); Print([color="#0000ff"][b]typeof[/b][/color](System.Web.UI.[color="#2b91af"]Page[/color])); [color="#2b91af"]Console[/color].Read(); } [color="#0000ff"][b]static[/b][/color] [color="#0000ff"][b]void[/b][/color] Print([color="#2b91af"]Type[/color] type) { [color="#2b91af"]Type[/color] baseType = type.BaseType; [color="#2b91af"]Console[/color].WriteLine([color="#a31515"]"\t"[/color] + baseType.Name); [color="#0000ff"][b]if[/b][/color] (baseType.BaseType != [color="#0000ff"][b]null[/b][/color]) Print(baseType); } } [color="#0000ff"][b]public[/b][/color] [color="#0000ff"][b]class[/b][/color] Foo { } [color="#0000ff"][b]public[/b][/color] [color="#0000ff"][b]struct[/b][/color] Fee { } } Output >Foo Class: Object Fee Struct: ValueType Object Anonymous Type: Object Page Class: TemplateControl Control Object
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.