Αφαίρεση σε Java

Σε τι είναι η Αφαίρεση Java?

Αφαίρεση είναι η έννοια του αντικειμενοστρεφούς προγραμματισμού που «εμφανίζει» μόνο βασικά χαρακτηριστικά και «κρύβει» περιττές πληροφορίες. Ο κύριος σκοπός της αφαίρεσης είναι η απόκρυψη των περιττών λεπτομερειών από τους χρήστες. Η αφαίρεση είναι η επιλογή δεδομένων από ένα μεγαλύτερο pool για την εμφάνιση μόνο σχετικών λεπτομερειών του αντικειμένου στον χρήστη. Βοηθά στη μείωση της πολυπλοκότητας και των προσπαθειών προγραμματισμού. Είναι μια από τις πιο σημαντικές έννοιες των OOP.

Πατήστε εδώ εάν το βίντεο δεν είναι προσβάσιμο

Ας μελετήσουμε την αφαίρεση στα OOPs με παράδειγμα:

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

Αφαίρεση σε Java
Αφαίρεση σε Java

Ωστόσο, δεν απαιτούνται όλες οι παραπάνω πληροφορίες για τη δημιουργία τραπεζικής εφαρμογής. Επομένως, πρέπει να επιλέξετε μόνο τις χρήσιμες πληροφορίες για εσάς τραπεζική αίτηση από εκείνη την πισίνα. Δεδομένα όπως όνομα, διεύθυνση, φορολογικά στοιχεία κ.λπ. έχουν νόημα για μια τραπεζική εφαρμογή που είναι ένα παράδειγμα αφαίρεσης στα OOP

Αφαίρεση σε Java

Εφόσον έχουμε ανακτήσει/αφαιρέσει/επιλέξει τις πληροφορίες των πελατών από ένα μεγαλύτερο pool, η διαδικασία αναφέρεται ως Abstraction στο OOPs. Ωστόσο, οι ίδιες πληροφορίες μόλις εξαχθούν μπορούν να χρησιμοποιηθούν για ένα ευρύ φάσμα εφαρμογών. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε τα ίδια δεδομένα για αίτηση σε νοσοκομείο, αίτηση πύλης εργασίας, κρατική βάση δεδομένων κ.λπ. με ελάχιστη ή καθόλου τροποποίηση. Ως εκ τούτου, γίνονται τα κύρια δεδομένα σας. Αυτό είναι ένα πλεονέκτημα της Abstraction στα OOP.

Διαφορά μεταξύ Αφαίρεσης και Ενθυλάκωσης

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

Διαφορά μεταξύ Abstract Class και Interface

Περίληψη τάξη περιβάλλον λειτουργίας
Μια αφηρημένη κλάση μπορεί να έχει αφηρημένες και μη αφηρημένες μεθόδους. Η διεπαφή μπορεί να έχει μόνο αφηρημένες μεθόδους.
Δεν υποστηρίζει πολλαπλές κληρονομιές. Υποστηρίζει πολλαπλές κληρονομιές.
Μπορεί να παρέχει την υλοποίηση της διεπαφής. Δεν μπορεί να παρέχει την υλοποίηση της αφηρημένης κλάσης.
Μια αφηρημένη κλάση μπορεί να έχει προστατευμένες και αφηρημένες δημόσιες μεθόδους. Μια διεπαφή μπορεί να έχει μόνο δημόσιες αφηρημένες μεθόδους.
Μια αφηρημένη κλάση μπορεί να έχει τελική, στατική ή στατική τελική μεταβλητή με οποιονδήποτε προσδιοριστή πρόσβασης. Η διεπαφή μπορεί να έχει μόνο μια δημόσια στατική τελική μεταβλητή.

Τι είναι το Abstract Class;

ΠΕΡΙΛΗΨΗ ΤΑΞΗ είναι ένας τύπος τάξης σε Java, που δηλώνουν μία ή περισσότερες αφηρημένες μεθόδους. Αυτές οι κλάσεις μπορεί να έχουν αφηρημένες μεθόδους καθώς και συγκεκριμένες μεθόδους. Μια κανονική τάξη δεν μπορεί να έχει αφηρημένες μεθόδους. Μια αφηρημένη κλάση είναι μια κλάση που περιέχει τουλάχιστον μια αφηρημένη μέθοδο. Μπορούμε να κατανοήσουμε την έννοια από το παράδειγμα σχήματος σε java.

Θεωρήστε την ακόλουθη ιεραρχία κλάσεων που αποτελείται από μια κλάση Shape η οποία κληρονομείται από τρεις κλάσεις Rectangle, Circle και Triangle. Η κλάση Shape δημιουργείται για να αποθηκεύει κοινά χαρακτηριστικά και μεθόδους που μοιράζονται οι τρεις κλάσεις Rectangle, Circle και Triangle. Η accountArea() είναι μια τέτοια μέθοδος που μοιράζεται και οι τρεις θυγατρικές κλάσεις και υπάρχει στην κλάση Shape.

Τάξη περίληψης σε Java

Παράδειγμα αφαίρεσης σχήματος

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

Περίληψη τάξη

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

Περίληψη τάξη

Πώς θα έμοιαζε όμως ένα αντικείμενο Class Shape σε έναν πρακτικό κόσμο;

Περίληψη τάξη

Εάν παρατηρήσετε ότι η κλάση Shape εξυπηρετεί τον στόχο μας να πετύχουμε κληρονομία και πολυμορφισμός. Αλλά δεν κατασκευάστηκε για να δημιουργηθεί. Τέτοιες τάξεις μπορούν να επισημανθούν Περίληψη. Μια αφηρημένη τάξη java δεν μπορεί να δημιουργηθεί.

Σύνταξη:

abstract class Shape{
	// code
}

Είναι πιθανό να ΜΗΝ χαρακτηρίσετε την κατηγορία Shape ως Abstract και στη συνέχεια να την δημιουργήσετε. Αλλά ένα τέτοιο αντικείμενο δεν θα έχει καμία χρήση στον κώδικά σας και θα ανοίξει ένα δωμάτιο για πιθανά σφάλματα. Ως εκ τούτου, αυτό δεν είναι επιθυμητό.

Σε τι περιλαμβάνονται οι Abstract Methods Java?

ΠΕΡΙΛΗΨΗ ΜΕΘΟΔΟΣ in Java, είναι μια μέθοδος που έχει μόνο τον ορισμό της μεθόδου αλλά δεν περιέχει υλοποίηση. Μια μέθοδος χωρίς σώμα είναι γνωστή ως Abstract Method. Πρέπει να δηλωθεί σε μια αφηρημένη τάξη. Η αφηρημένη μέθοδος δεν θα είναι ποτέ οριστική γιατί η κλάση αφηρημένης πρέπει να εφαρμόσει όλες τις αφηρημένες μεθόδους.

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

Τέτοιες μέθοδοι μπορούν να επισημανθούν αφηρημένη.

Σύνταξη:

abstract public void calculateArea();

Για ένα αφηρημένη μέθοδο, δεν απαιτείται υλοποίηση. Ορίζεται μόνο η υπογραφή της μεθόδου.

Παράδειγμα κώδικα αφαίρεσης

abstract class Shape{  
  abstract void calculateArea();  
}  
 class guru99 extends Shape{  
void calculateArea(){System.out.println("Area of Shape");}  
public static void main(String args[]){  
 Shape obj = new guru99();  
 obj.calculateArea();
}  
}

Πλεονεκτήματα της Αφαίρεσης

  • Το κύριο όφελος από τη χρήση μιας Αφαίρεσης σε Προγραμματισμός είναι ότι σας επιτρέπει να ομαδοποιήσετε πολλές σχετικές τάξεις ως αδέρφια.
  • Η αφαίρεση στον αντικειμενοστραφή προγραμματισμό συμβάλλει στη μείωση της πολυπλοκότητας της διαδικασίας σχεδιασμού και υλοποίησης του λογισμικού.

Τελική λέξη-κλειδί σε Java

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

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

Παράδειγμα : - Για να μάθετε αφηρημένες και τελικές λέξεις-κλειδιά

Βήμα 1) Αντιγράψτε τον παρακάτω κώδικα σε ένα πρόγραμμα επεξεργασίας.

abstract class Shape{
   final int b = 20;
   public void display(){
     System.out.println("This is display method");
   }
   abstract public void calculateArea();
}

public class Rectangle extends Shape{
   public static void main(String args[]){
      Rectangle obj = new Rectangle();
      obj.display();
     //obj.b=200;
  }
  //public void calculateArea(){}
}

Βήμα 2) Αποθηκεύστε, μεταγλωττίστε και εκτελέστε τον κώδικα.

Βήμα 3) Σφάλμα =; Η αφηρημένη μέθοδος δεν εφαρμόζεται στην κλάση Rectangle. Για να διορθώσετε το πρόβλημα της γραμμής άρσης σχολίων #15.

Βήμα 4) Απόσπαση σχολίου γραμμή # 13. Αποθήκευση και μεταγλώττιση του κώδικα.

Βήμα 5) Σφάλμα = ? η μεταβλητή β είναι τελική

Πότε να χρησιμοποιήσετε Abstract Methods & Abstract Class;

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

Οι αφηρημένες κλάσεις βοηθούν στην περιγραφή γενικών τύπων συμπεριφορών και αντικειμενοστρεφούς ιεραρχίας κλάσεων προγραμματισμού. Περιγράφει επίσης υποκλάσεις για να προσφέρει λεπτομέρειες υλοποίησης της αφηρημένης κλάσης.

Περίληψη:

  • Η αφαίρεση στον προγραμματισμό είναι η διαδικασία επιλογής σημαντικών συνόλων δεδομένων για ένα αντικείμενο στο λογισμικό σας και αφήνοντας έξω τα ασήμαντα.
  • Αφού μοντελοποιήσετε το αντικείμενό σας χρησιμοποιώντας το Data Abstraction in Java, το ίδιο σύνολο δεδομένων θα μπορούσε να χρησιμοποιηθεί σε διαφορετικές εφαρμογές.

Ημερήσιο ενημερωτικό δελτίο Guru99

Ξεκινήστε τη μέρα σας με τις πιο πρόσφατες και πιο σημαντικές ειδήσεις για την Τεχνητή Νοημοσύνη, τώρα.