Κλ

Κλάσεις σε Java

12 ασκήσεις

Σχετικά με την έννοια Κλάσεις

Το βασικό αντικειμενοστρεφές δομικό στοιχείο στη Java είναι η κλάση, η οποία είναι ένας συνδυασμός δεδομένων (πεδίων), γνωστών και ως μεταβλητών στιγμιοτύπου, και συμπεριφοράς (μεθόδων). Τα πεδία και οι μέθοδοι μιας κλάσης είναι γνωστά ως μέλη της.

Η πρόσβαση στα μέλη μπορεί να ελεγχθεί μέσω τροποποιητών πρόσβασης, με τους δύο πιο συνηθισμένους να είναι:

  • public: το μέλος είναι προσβάσιμο από οποιονδήποτε κώδικα (χωρίς περιορισμούς).
  • private: το μέλος είναι προσβάσιμο μόνο από κώδικα της ίδιας κλάσης.

Στη Java, αν δεν καθοριστεί κάποιος τροποποιητής πρόσβασης, η προεπιλογή είναι η ορατότητα πακέτου. Σε αυτή την περίπτωση, το μέλος είναι ορατό σε όλες τις κλάσεις που ορίζονται στο ίδιο πακέτο.

Η παραπάνω ομαδοποίηση σχετικών δεδομένων και συμπεριφοράς, μαζί με τον περιορισμό της πρόσβασης στα μέλη, είναι γνωστή ως ενθυλάκωση, η οποία αποτελεί μία από τις βασικές αντικειμενοστρεφείς έννοιες.

Μπορείς να σκεφτείς μια κλάση ως ένα πρότυπο για τη δημιουργία στιγμιοτύπων αυτής της κλάσης. Για να δημιουργήσεις ένα στιγμιότυπο μιας κλάσης (γνωστό και ως αντικείμενο), χρησιμοποιείται η new λέξη-κλειδί:

class Car {
}

// Create two car instances
Car myCar = new Car();
Car yourCar = new Car();

Τα πεδία έχουν έναν τύπο και ένα όνομα (γραμμένο σε camelCase) και μπορούν να οριστούν οπουδήποτε μέσα σε μια κλάση (γραμμένη σε PascalCase).

class Car {
    // Accessible by anyone
    public int weight;

    // Only accessible by code in this class
    private String color;
}

Μπορείς προαιρετικά να εκχωρήσεις μια αρχική τιμή σε ένα πεδίο. Αν ένα πεδίο δεν καθορίζει αρχική τιμή, θα οριστεί στην προεπιλεγμένη τιμή του τύπου του. Οι τιμές των πεδίων ενός στιγμιοτύπου μπορούν να προσπελαστούν και να ενημερωθούν με τον συμβολισμό με τελεία.

class Car {
    // Will be set to specified value
    public int weight = 2500;

    // Will be set to default value (0)
    public int year;
}

Car newCar = new Car();
newCar.weight; // => 2500
newCar.year;   // => 0

// Update value of the field
newCar.year = 2018;

Τα ιδιωτικά πεδία συνήθως ενημερώνονται ως παρενέργεια της κλήσης μιας μεθόδου. Τέτοιες μέθοδοι συνήθως δεν επιστρέφουν κάποια τιμή, οπότε ο τύπος επιστροφής θα πρέπει να είναι void:

class CarImporter {
    private int carsImported;

    public void importCars(int numberOfCars)
    {
        // Update private field
        carsImported = carsImported + numberOfCars;
    }
}

Σημείωσε ότι δεν συνηθίζεται να χρησιμοποιούνται δημόσια πεδία στις κλάσεις της Java. Συνήθως χρησιμοποιούνται ιδιωτικά πεδία, στα οποία αποκτάς πρόσβαση μέσω getters και setters.

Μέσα σε μια κλάση, η this λέξη-κλειδί αναφέρεται στην τρέχουσα κλάση. Αυτό είναι ιδιαίτερα χρήσιμο όταν μια παράμετρος έχει το ίδιο όνομα με ένα πεδίο:

class CarImporter {
    private int carsImported;

    public void setImportedCars(int carsImported)
    {
        // Update private field from public method
        this.carsImported = carsImported;
    }
}
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα

Μάθε την έννοια Κλάσεις