CodeGym /Java Blog /சீரற்ற /ஜாவா சுருக்க முறை மற்றும் வகுப்புகள்
John Squirrels
நிலை 41
San Francisco

ஜாவா சுருக்க முறை மற்றும் வகுப்புகள்

சீரற்ற குழுவில் வெளியிடப்பட்டது
சுருக்க முறைகள் ஜாவாவின் சக்திவாய்ந்த கருவியாகும், மேலும் இந்த பொருள் சார்ந்த மொழிக்கு பாலிமார்பிஸம் வரும்போது இன்னும் அதிக திறன்களை அளிக்கிறது. ஒரு முழு நிரலுக்கான அடிப்படை கட்டமைப்பை உருவாக்க ஜாவா சுருக்க முறை பயன்படுத்தப்படலாம் மற்றும் தேவைக்கேற்ப சரிசெய்ய உங்களை அனுமதிக்கிறது.ஜாவா சுருக்க முறை மற்றும் நீங்கள் - 1

சுருக்க முறை என்றால் என்ன?

ஒரு சுருக்க முறை என்பது செயல்படுத்தல் இல்லாத ஒரு முறையாகும். அதாவது, இது ஒரு அறிவிப்பைக் கொண்டுள்ளது, எனவே பெயர், திரும்பும் வகை மற்றும் அது ஏற்றுக்கொள்ளும் மாறிகள் உங்களுக்குத் தெரியும். அடிப்படை சுருக்க முறையின் எடுத்துக்காட்டு இங்கே:

public abstract int example(int a1, int a2);
நீங்கள் இந்த முறையைப் பார்க்கும்போது, ​​​​அது ஒரு முழு எண்ணைத் தருகிறது மற்றும் இரண்டு முழு எண்களை அதன் வாதமாக ஏற்றுக்கொள்கிறது என்று நீங்கள் சொல்லலாம். இந்த முறை எவ்வாறு செயல்படுத்தப்படுகிறது என்பதை நீங்கள் சொல்ல முடியாது. ஏனென்றால், அதைச் செயல்படுத்த, நீங்கள் அதை மீற வேண்டும். ஜாவாவில் ஒரு சுருக்க முறையை உருவாக்கும் போது, ​​நீங்கள் சில வழிகாட்டுதல்களை கடைபிடிக்க வேண்டும் அல்லது உங்கள் நிரல் சரியாக தொகுக்கப்படாது. நினைவில் கொள்ளுங்கள்:
  • ஜாவா சுருக்க முறைகள் செயல்படுத்தப்படவில்லை. அதாவது, அவற்றை ஒருபோதும் சுருள் பிரேஸ்கள் மற்றும் முறை எவ்வாறு பயன்படுத்த வேண்டும் என்பதைக் கூறும் உடலுடன் பின்பற்றக்கூடாது. இது ஒரு அரைப்புள்ளியுடன் முடிந்தது.

  • நீங்கள் ஒரு சுருக்க முறையை உருவாக்கினால், அது ஒரு சுருக்க வகுப்பில் மட்டுமே வைக்கப்படும். அதாவது, அதன் உள்ளே ஒரு சுருக்க முறையைக் கொண்ட ஒரு கான்கிரீட் வகுப்பை நீங்கள் கொண்டிருக்க முடியாது.
    நான். ஒரு பக்க குறிப்பாக, உங்களிடம் ஒரு சுருக்க வகுப்பு இருந்தால், அது கட்டமைப்பாளர்களைக் கொண்டிருக்கலாம். இருப்பினும், இது ஒரு சுருக்க முறையைக் கொண்டிருக்க வேண்டியதில்லை.

  • ஒரு கான்கிரீட் வகுப்பு ஒரு சுருக்க வகுப்பை நீட்டிக்கும்போது, ​​​​அது பெற்றோர் வகுப்பின் அனைத்து சுருக்க முறைகளையும் செயல்படுத்த வேண்டும் அல்லது அது கான்கிரீட் ஆக முடியாது மற்றும் சுருக்கமாக அறிவிக்கப்பட வேண்டும்.

அந்த கடைசி இரண்டும் கொஞ்சம் குழப்பமாக இருக்கலாம், எனவே அதை உடனே தெளிவுபடுத்துவோம்.

சுருக்க ஜாவா வகுப்புகளை நீட்டித்தல்

சுற்றளவு மற்றும் பரப்பளவைத் தரும் அடிப்படை வடிவங்களைப் பற்றி ஒரு நிரலை எழுத விரும்புகிறோம் என்று வைத்துக்கொள்வோம். எனவே நாம் ஒரு பெற்றோர் சுருக்க வகுப்பை உருவாக்குகிறோம். ஆனால் ஒவ்வொரு வடிவத்திற்கும் அதன் சொந்த விதிகள் இருப்பதால், ஒவ்வொன்றும் வித்தியாசமாக கணக்கிடப்பட வேண்டும், எனவே சுருக்க வடிவ வகுப்பை இப்படி எழுதுகிறோம் :

abstract class Shape {
  		String shapeName = " ";
  		Shape(String name) { 
    			this.shapeName = name; 
  		} 

abstract double area();
  		abstract double perimeter();
}
இப்போது, ​​நாம் உண்மையில் இந்த சுருக்க முறைகளைப் பயன்படுத்த விரும்பினால், நாம் சுருக்கமான ஜாவா பெற்றோர் வகுப்பு வடிவத்தை நீட்டிக்க வேண்டும் , பின்னர் முறைகளை உடனடியாக மாற்ற வேண்டும். எனவே ஒவ்வொரு கான்கிரீட் வகுப்பும் பகுதி மற்றும் சுற்றளவு சுருக்க முறைகளை செயல்படுத்த வேண்டும்.

class Quadrilateral extends Shape  
{ 
    double length, width; 
      
    Quadrilateral(double l, double w, String name) 
    { 
        super(name); 
        this.length = l; 
        this.width = w; 
    } 
      
    @Override
    public double perimeter()  
    { 
        return ((2*length)+(2*width));
    } 
      
    @Override
    public double area()  
    { 
        return (length*width); 
    } 
}

Implementing the Quadrilateral class would then look like this
class Main
{ 
    public static void main (String[] args)  
    { 
      
        // creating a Quadrilateral object using Shape as reference 
        Shape rectangle = new Quadrilateral(3,4, "Rectangle"); 
        System.out.println("Area of rectangle is " + rectangle.area()); 
        System.out.println("Perimeter of rectangle is " + rectangle.perimeter());
  
    } 
} 
கன்சோலில் இருந்து வெளியீடு இப்படி இருக்கும்:

Area of rectangle is 12.0
Perimeter of rectangle is 14.0
பெற்றோர் வகுப்பிலிருந்து வடிவ (சரம் பெயர் ) கன்ஸ்ட்ரக்டரை வகுப்பு நாற்கரமானது உடனடியாக உருவாக்க வேண்டியதில்லை என்பதை நினைவில் கொள்ளவும் . ஏனென்றால் இது ஒரு சுருக்கமான முறை அல்ல. இருப்பினும், நீங்கள் ஒரு வகுப்பில் ஒரு பகுதி அல்லது சுற்றளவை மட்டுமே செயல்படுத்தினால், புதிய வகுப்பு சுருக்கமாக இருக்க வேண்டும், ஏனெனில் அது இரண்டையும் சேர்க்கவில்லை. நீங்கள் இடைமுகங்களில் சுருக்க முறைகளையும் பயன்படுத்தலாம்.

இடைமுகங்களுடன் சுருக்கமான ஜாவா முறைகள்

ஒரு இடைமுகம் என்றால் என்ன மற்றும் அது ஒரு சுருக்க வகுப்பிலிருந்து எவ்வாறு வேறுபடுகிறது என்பதை விரைவாக மதிப்பாய்வு செய்வோம். ஒரு இடைமுகத்தில், ஒரு இடைமுகத்தில் அறிவிக்கப்பட்ட எந்த மாறிகளும் பொது, நிலையான மற்றும் இறுதி ஆகும். மறுபுறம், சுருக்க வகுப்புகள், இறுதி அல்லாத மாறிகள் மட்டுமே கொண்டிருக்கும். ஒரு இடைமுகத்தில் உள்ள அனைத்தும் இயல்பாகவே பொதுவில் இருக்கும். ஒரு சுருக்க வகுப்பில் தனிப்பட்ட, பாதுகாக்கப்பட்ட, பொது, முதலியன இருக்கலாம். இறுதியாக, ஒரு வகுப்பு இடைமுகத்தை நீட்டிக்காது, அதைச் செயல்படுத்துகிறது. JDK 8 க்கு முந்தைய, ஒரு இடைமுகத்தில் சுருக்க முறைகளைத் தவிர வேறு எதையும் கொண்டிருக்க முடியாது. இப்போது, ​​ஒரு இடைமுகம் இயல்புநிலை மற்றும் நிலையான முறைகளைக் கொண்டிருக்கலாம். இதன் காரணமாக, சிறந்த நடைமுறைகள் சுருக்க முறைகளை நீட்டிக்கக்கூடிய வார்ப்புருக்களாகப் பயன்படுத்துவதிலிருந்து விலகி, இடைமுகங்கள் மற்றும் அவற்றைச் செயல்படுத்துவதில் கவனம் செலுத்துகின்றன. எனவே நீங்கள் வடிவத்தை ஒரு இடைமுகமாக உருவாக்கி பின்னர் அதை நாற்கரமாக செயல்படுத்தினால், அது எப்படி இருக்கும்? முதலில், நீங்கள் ஷேப் (ஸ்ட்ரிங் பெயர்) கன்ஸ்ட்ரக்டரை அகற்ற வேண்டும் . இரண்டு சுருக்க முறைகளுடன் இது போல் இருக்கும்:

interface Shape {

  abstract double area();
  abstract double perimeter();
}


So the Quadrilateral class would then look like this:
class Quadrilateral implements Shape {  

  double length, width; 
      
    	  Quadrilateral(double l, double w) {
    
    	    this.length = l; 
    	    this.width = w; 
    	  } 
      
    	  @Override
    	  public double perimeter() {
     
    	    return ((2*length)+(2*width));
    	  } 
      
    	  @Override
    	  public double area() {
    
   	    return (length*width); 
    	  } 
}
இறுதியாக, வடிவ இடைமுகத்தை செயல்படுத்தும்போது புதிய நாற்கரத்தைப் பயன்படுத்துவது ஒரே மாதிரியாக இருக்கும்:

class Main
{ 
    public static void main (String[] args)  
    { 
      
        // creating a Quadrilateral object using Shape as reference 
        Shape rectangle = new Quadrilateral(3,4); 
        System.out.println("Area of rectangle is " + rectangle.area()); 
        System.out.println("Perimeter of rectangle is " + rectangle.perimeter());
  
    } 
}
கன்சோல் பிரிண்ட் அவுட் இப்படி இருக்கும்:

Area of rectangle is 12.0
Perimeter of rectangle is 14.0
இடைமுகங்கள் மற்றும் சுருக்க வகுப்புகளுக்கு இடையிலான வேறுபாடுகளைப் பற்றி மேலும் ஆராய விரும்பினால், மேலும் தகவலை இங்கே காணலாம்.

ஆனால் சுருக்க ஜாவா முறைகளை ஏன் பயன்படுத்த வேண்டும்?

ஜாவாவில் சுருக்க முறைகள் பயன்படுத்தப்படுவதற்கும், அவற்றைப் பயன்படுத்துவதில் நீங்கள் வசதியாக இருப்பதற்கும் பல காரணங்கள் உள்ளன. பொருத்தமானதாக இருக்கும்போது அவற்றைப் பயன்படுத்துவதற்கான மூன்று விரைவான காரணங்கள் இங்கே உள்ளன.
  1. முயற்சிகளை நகலெடுப்பதைத் தவிர்க்கவும் - எங்கள் உதாரணக் குறியீட்டு முறையைத் திரும்பிப் பாருங்கள்; நீங்களும் உங்கள் குழுவும் ஒரு செவ்வகத்தைத் தவிர வேறு வடிவங்களுக்கான வகுப்புகளை உருவாக்க வேண்டும் என்று கற்பனை செய்து பாருங்கள். அந்த வகுப்பை வடிவமைக்க நீங்கள் எத்தனை வெவ்வேறு வழிகளைக் கொண்டு வரலாம்? பத்து? பதினைந்து? மேலும் இது ஒரு எளிய பிரச்சனை. மிகவும் சிக்கலான ஒன்றை கற்பனை செய்து பாருங்கள். நீங்களும் உங்கள் குழுவும் நூறு வழிகளைக் கொண்டு வரலாம். பின்னர் அவற்றை ஒரு ஒத்திசைவான திட்டத்தில் ஒன்றாக இணைக்கும் கடினமான பணியை நீங்கள் எதிர்கொள்வீர்கள். இது எங்களின் அடுத்த கட்டத்திற்கு நம்மைக் கொண்டுவருகிறது: செயல்படுத்தலை வரையறுத்தல்.

  2. ஜாவாவில் உள்ள சுருக்க முறைகள் பயன்பாடு மற்றும் செயல்படுத்தலின் வரையறையை அனுமதிக்கின்றன - நீங்கள் ஒரு சுருக்க வகுப்பு அல்லது இடைமுகத்தைப் பயன்படுத்தும் போது மற்றும் வடிவமைப்பு, சுருக்க முறைகள் மூலம், மற்றவர்கள் உங்கள் இடைமுகத்துடன் எவ்வாறு தொடர்புகொள்வார்கள் என்பதை நீங்கள் வரையறுக்கிறீர்கள். அவர்கள் என்ன மாறிகளைப் பயன்படுத்த வேண்டும் மற்றும் எந்த வகையான வருமானத்தை எதிர்பார்க்கலாம் என்பதை இது அவர்களுக்குத் தெரியப்படுத்துகிறது.
    அவர்கள் அவற்றை மேலெழுதலாம் மற்றும் உங்கள் இடைமுகத்தை தனித்துவமான வழிகளில் செயல்படுத்தும் உறுதியான வகுப்புகளை உருவாக்க முடியும் என்றாலும், உங்கள் குறியீட்டிற்கான முக்கிய பயன்பாட்டை நீங்கள் இன்னும் கல்லாக அமைத்துள்ளீர்கள். யாராவது வடிவத்தை செயல்படுத்த விரும்பினால், அவர்கள் சுற்றளவு மற்றும் பரப்பளவு இரண்டையும் மீற வேண்டும் அல்லது செயல்படுத்த வேண்டும்.

  3. வாசிப்புத்திறன் மற்றும் பிழைத்திருத்தம் - சுருக்க முறைகளைக் கொண்டிருப்பது உங்கள் குறியீட்டின் வாசிப்புத் திறனை மேம்படுத்தும். இடைமுகத்தை செயல்படுத்தும் வகுப்பை நீங்கள் எழுதும்போது, ​​எதைத் தேடுவது என்பது உங்களுக்குத் தெரியும். இடைமுகத்தில் உள்ள ஒவ்வொரு சுருக்க முறையும் செயலாக்கத்தில் இருக்கும் என்பதை நீங்கள் அறிவீர்கள், மேலும் இது எந்தப் பிழைகளையும் எளிதாகப் படிக்கவும், கண்காணிக்கவும் உதவுகிறது. ஜாவா மற்றும் பிற பொருள் சார்ந்த மொழிகளில் பாலிமார்பிஸத்தை எவ்வாறு சரியாகப் பயன்படுத்துவது என்பதைக் கற்றுக்கொள்வதற்கான ஆரம்பம்தான் சுருக்க முறைகள். நீங்கள் அவற்றைப் புரிந்துகொண்டு பயன்படுத்தத் தொடங்கும் போது, ​​உங்கள் குறியீட்டு பயணத்தின் முற்றிலும் புதிய அத்தியாயம் தொடங்கும்.

கருத்துக்கள்
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION