Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Κλάσεις!!

Îåêßíçóå áðü ôï ìÝëïò tommaσ. Τελευταία δημοσίευση από το μέλος cap στις 29-01-2007, 19:04. Υπάρχουν 16 απαντήσεις.
Σελίδα 1 από 2 (17 εγγραφές)   1 2 >
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  21-02-2006, 20:48 9929

    Κλάσεις!!

    Λοιπόν θα ήθελα να ρωτήσω κάτι περισσότερο θεωρητικό:

    Τι ακριβώς κάνουμε τις κλάσεις Surprise [:O]! Αφού μπορούμε να φτιάξουμε συναρτήσεις!

    Έμαθα να φτιάχνω κλάσςις (ως ένα βαθμό) και δεν μου χρειάστηκαν πουθενά!Crying [:'(]

     

    Θα ήθελα αν είναι δυνατόν ένα παράδειγμα με κώδικα C# Big Smile [:D]

     

  •  21-02-2006, 23:32 9936 σε απάντηση της 9929

    Απ: Κλάσεις!!

    Φαντάσου ότι μια κλάση είναι σαν ένα αρχιτεκτονικό σχέδιο από ένα σπίτι. Με αυτό το σχέδιο μπορούν να φτιαχτούν πολλά σπίτια, το καθένα με τα δικά του ιδιαίτερα χαρακτηριστικά. Για παράδειγμα, το ένα θα έχει ξύλινη εξώπορτα και το άλλο μεταλική, το ένα πράσινα παράθυρα και το άλλο κόκκινα, το ένα κίτρινους τοίχους και το άλλο λευκούς, κοκ. Ωστόσο, όλα τα σπίτια που προκύπτουν από αυτό το σχέδιο θα έχουν σκεπή, πόρτα, παράθυρο κλπ. Το κάθε σπίτι λοιπόν είναι ένα object που προκύπτει από αυτή τη κλάση, όπως λέμε "ένα instance" της κλάσης. Τα διάφορα χαρακτηριστικά του σπιτιού τα ονομάζουμε "ιδιότητες" (properties). Ένα object εμπεριέχει πέρα από δεδομένα (ή όπως τα λέμε "state") και τρόπους να ενεργήσουμε πάνω σε αυτά τα δεδομένα. Στο παράδειγμά μας, θα είναι το άνοιγμα της πόρτας, το κλείσιμο της πόρτας, κοκ. Αυτούς τους τρόπους τους ονομάζουμε "methods".

    Αντίστοιχα λοιπόν, έχουμε την κλάση TextBox. Αν αρχίσουμε να τοποθετούμε πολλαπλά textboxes πάνω στη φόρμα, τότε κάθε textbox (TextBox1, TextBox2, κλπ) είναι κι από ένα instance. Το text είναι ένα property του TextBox και αν χρησιμοποιήσω τη μέθοδο AppendText, το αποτέλεσμα θα είναι να αλλάξει το property Text.

    Οι κλάσεις είναι το βασικό δομικό στοιχείο που γράφουμε τις εφαρμογές μας και ο τρόπος που προγραμματίζουμε με αυτές λέγεται "Object-oriented προγραμματισμός". Μας επιτρέπουν δε να οργανώνουμε καλύτερα και να ομαδοποιούμε τον κώδικά μας καθώς θα ήταν αδύνατο να έχουμε ένα τεράστιο πρόγραμμα που να αποτελείται μόνο από συναρτήσεις που να αφορούν τα πάντα. Από την άλλη μεριά, ήδη δουλεύεις με τις κλάσεις και τα objects που αυτές παράγουν. Πρόκειται για τις κλάσεις που σου δίνει το .NET Framework. Απλά μέχρι να εξοικιωθείς είναι λίγο δύσκολο να περάσεις στο επόμενο βήμα που θα είναι να σχεδιάσεις το πρόγραμμά σου ώστε να αποτελείται από ένα σύνολο κλάσεων.


    Vir prudens non contra ventum mingit
  •  22-02-2006, 10:22 9942 σε απάντηση της 9936

    Απ: Κλάσεις!!

    Με απλά λόγια οι κλάσεις σου προσφέρουν:

    1) Namespaces, για να οργανώνεις τον κώδικά σου σε συμπαγείς μονάδες που έχουν νόημα.

    2) Inheritance + Polymorphism. Αυτό είναι 90% το "ζουμί" του object oriented προγραμματισμού.
  •  22-02-2006, 19:58 9995 σε απάντηση της 9942

    Απ: Κλάσεις!!

    και κατι άλλο που δεν εχο κατλάβει
    public static void Write()
    {
    }
    τι σημένει το static?
  •  22-02-2006, 20:42 9997 σε απάντηση της 9995

    Απ: Κλάσεις!!

    Public σημαίνει ότι η Write μπορεί να φαίνεται (και ως εκ τούτου) να κληθεί από οποιονδήποτε χρησιμοποιήσει τη κλάση μέσα στην οποία βρίσκεται.

    Static σημαίνει ότι δεν απαιτείται να υπάρχει instance της κλάσης για να χρησιμοποιήσουμε τη Write.
    Αυτό συμβαίνει συχνά όταν οι κλάσεις δεν έχει νόημα να δημιουργούνται ως objects. Για παράδειγμα, η Console κλάση δεν έχει νόημα να υπάρχει ως πολλαπλά objects γιατί μία είναι η κονσόλα που όλοι γράφουμε και διαβάζουμε σε αυτή. Οι μέθοδοι Write, WriteLine, Read, ReadLine είναι λοιπόν Static. Έτσι λοιπόν μπορούμε να τη χρησιμοποιήσουμε απευθείας, πχ να πούμε

    Console.WriteLine("something");

    αντί να πούμε

    Console myConsole = new Console();
    myConsole.WriteLine("something");

    Void σημαίνει ότι η Write κάνει κάποια δουλειά και δεν επιστρέφει κάποια τιμή σε αυτόν που την καλεί. Στο προηγούμενο παράδειγμα, δεν χρειάζεται να πούμε

    = Console.WriteLine("something")

    γιατί αυτό που θέλουμε να κάνουμε είναι να εμφανίσουμε κείμενο στην κονσόλα

    Τον παραπάνω συνδυασμό τον συναντάμε όταν γράφουμε ένα console application, δηλαδή η main() προσδιορίζεται ως public static void για να μπορέσουμε να τρέξουμε την εφαρμογή από το εκτελέσιμο αρχείο. Για παράδειγμα:

    public class Test {
       
        public static void main() {
            console.writeline("Hello and goodbye");
        }
    }


     


    Vir prudens non contra ventum mingit
  •  22-02-2006, 20:47 9998 σε απάντηση της 9997

    Απ: Κλάσεις!!

    Ευχαριστω!!!!!
  •  26-01-2007, 11:25 24090 σε απάντηση της 9929

    Κλάσεις vb Net

    ειμαι καινουριος και εγω στο χωρο αν δεν κανει κόπο θα ήθελα και εγω ενα παράδειγμα με τις κλάσεις σε Vb Net

    Ευχαριστω
  •  26-01-2007, 11:38 24092 σε απάντηση της 24090

    Απ: Κλάσεις vb Net

    Τί συγκεκριμένο θα ήθελες? Για να ξέρουμε πώς να σε βοηθήσουμε...
    View Παναγιώτης Χαραλάμπους's profile on LinkedIn
    Coding at Mediterranean Acoustics
  •  26-01-2007, 12:28 24093 σε απάντηση της 9929

    Απ: Κλάσεις!!

    πως θα χρησιμοποιησω καποιες κλάσεις που υπάρχουν σε ενα δίκο μου project

  •  26-01-2007, 13:05 24095 σε απάντηση της 24093

    Απ: Κλάσεις!!

    Άν είναι κλάσεις που ήδη υπάρχουν στο framework τότε απλώς δηλώνεις ένα instane της κλάσης.

    πχ

    Dim ds As New System.Data.DataSet()

    αλλιώς άν είναι ένα εξωτερικό dll ή κάποιο com component τότε πρεπει από τον solution explorer με δεξί κλίκ στο references να επιλέξεις add reference και να το προσθέσεις στο project. Μετά ακολουθείς την ίδια διαδικασία


    View Παναγιώτης Χαραλάμπους's profile on LinkedIn
    Coding at Mediterranean Acoustics
  •  26-01-2007, 15:17 24110 σε απάντηση της 24095

    Απ: Κλάσεις!!

    Η wikipedia ξεκινάει με έναν ωραίο ορισμό για την class: In object-oriented programming, a class is a programming language construct that is used to group related instance variables and methods.
    Ορίστε το σχετικό άρθρο: http://en.wikipedia.org/wiki/Class_%28computer_science%29#Example_1_5
    Περιέχει και παραδείγματα σε C#.

    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  26-01-2007, 17:39 24118 σε απάντηση της 24110

    Απ: Κλάσεις!!

    Ένα πολύ ωραίο tutorial για το τι είναι μια κλάση είναι στο java tutorial

    http://java.sun.com/docs/books/tutorial/java/concepts/index.html

    Είναι από τα πρώτα που είχα δει online το 95 και μου έχει κάνει εντύπωση. Αγνοείστε τα java specific και το κομμάτι για packages
    Γιώργος Σακαλής
  •  29-01-2007, 17:00 24215 σε απάντηση της 24118

    Απ: Κλάσεις!!

    Πρώτον ΔΕΝ ΥΠΑΡΧΟΥΝ ΚΛΑΣΕΙΣ!!! η Classes υπάρχουν οι Ταξεις!!! το Κλάσεις καποιος ασχετος το εβγαλε!!!!!!!

    Ερώτηση κρίσεως προς Όλους:

    Ποιος ήταν ο Πρώτος Ανθρωπος στον κόσμο που μίλησε για "Τάξεις"?????

    Για να καταλάβεις καλύτερα της Τάξεις, απλα σκέψου γιατί στο σχολείο χωριζόμασταν σε "Ταξεις"?? δεν εχουν τις ίδιες ιδιότητες η Τάξη Α2 και Α3???

    και οι δύο εχουν μια χρονια που ακολουθούν (Α'λυκείου), εχουν εναν αριθμό μαθητών, και διδακτικές ώρες, αρα είναι Typeof Ταξη (LykeiοClass.cs) και το Α2 και Α3 ειναι instanses της Τάξης LykeiοClass!! πχ LykeiοClass Α1 = new LykeiοClass ();

    Hope that gave you a clue

    Nassos


    "Success is the ability to go from one failure to another with no loss of enthusiasm."
    Winston Churchill

    "Quality means doing it right when no one is looking."
    Henry Ford

  •  29-01-2007, 17:30 24216 σε απάντηση της 24215

    Απ: Κλάσεις!!

    Μπαμπινιώτης δεν είμαι, αλλά δεν νομίζω να είναι λάθος το "κλάση". Εφενός σαφώς υφίσταται ως Ελληνική λέξη και δεν αποτελεί ελληνοποίηση της ξένης. Αφετέρου, στα λεξικά, το "class" μεταφράζεται σε "τάξη" ή "είδος" ή "κατηγορία" ή "κλάση".

    Τώρα, αν πρόκειται για καθιερωμένη (από κάποιους/κάποιον) ορολογία δεν το ξέρω. Αυτό που καταλαβαίνω είναι ότι το "τάξη" με οδηγεί περισσότερο στην ταξινόμηση και δευτερευόντως στην κατηγοριοποίηση. Πάντως, δεν είναι εύκολο να βγάλεις άκρη και από τα παραδείγματα χρήσης, αν θες σώνει και καλά (που εγώ δεν θέλω) να χρησιμοποιείς μία συγκεκριμένη λέξη για να αποδόσεις τη λέξη "class" στα Ελληνικά. Χρησιμοποιείται επισήμως στον στρατό "κλάση του '71", λέμε το "middle class" ως "μεσαία τάξη" αλλά και "economy class" ως "οικονομική θέση". Επίσης λέμε για "ασφαλιστική κλάση".

    Bottom line, θεωρώ ότι το "κλάση" μπορεί να χρησιμοποιηθεί για να πούμε στα Ελληνικά το "class". Είναι τουλάχιστον συνώνυμο του "τάξη" ωστόσο έχει το πλεονέκτημα ότι ηχητικά είναι κοντά στο αγγλικό, οπότε μπορεί να σου δώσει ευκολότερα να καταλάβεις τι θέλει να πει ο ποιητής.


    Vir prudens non contra ventum mingit
  •  29-01-2007, 17:57 24217 σε απάντηση της 24216

    Απ: Κλάσεις!!

    KelMan,

    Εισαι σωστος ενοιολογικά, όμως όπως οι Γιατροι προς τίμη του Ιπποκράτη, χρησημοποιούν την Ελληνική ωρολογία, 'πρέπει' και εμεις να δειξουμε τον απετούμενο 'σεβασμό' σε αυτους που πόνεσε το μυαλό τους για να μας δώσουν το OOP και της Classes.

    Aσε που δεν χρειαζετε μεταφρασει, Αφού πρώτος ο ΣΩΚΡΑΤΗΣ μήλισε για την ταξη των πτηνών, τον φυτών, κτλ......

    Το ότι σήμερα δεν μπορούμε να καταλάβουμε την ένοια Ταξη, κάτι λεει, για το πόσο εχουμε διαλύσει την Ελληνική γλώσσα!!!

    PS. Ο Προγραμματισμός  προϊποθέτει καλή γνώση της Αγγλικής, αν δεν ξερεις τι σημαίνει public, static, void, constant ect, τοτε δύσκολα θα μπορέσεις να προγραμματησεις καλα!!.

    ΣΑΦΟΣ, περι ορέξεως κολοκυθόπιττα, δεν τι λέω σε κανέναν, μπορεί ο καθένα να την πει όπως αγαπάει(την Τάξη ή Class ή Κλάση), κουβέντα να γινετε!! Απλά προσωπικά θέλω να δείχνω τον απαραιτητο σεβασμο, στους ανθρώπους που δημιουργήσανε την ενοια Class!!

    Just Thought

    Νασσος


    "Success is the ability to go from one failure to another with no loss of enthusiasm."
    Winston Churchill

    "Quality means doing it right when no one is looking."
    Henry Ford

Σελίδα 1 από 2 (17 εγγραφές)   1 2 >
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems