PHP இல் ஒரு சுருக்க வகுப்பு என்றால் என்ன?

PHP OOP இல் நிலையானது
php இடைமுகம் vs சுருக்க வகுப்பு

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

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

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

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

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

தொடரியல்

<?php
abstract class ParentClass {
  abstract public function someMethod1();
  abstract public function someMethod2($name, $color);
  abstract public function someMethod3() : string;
}
?>

PHP இல் உள்ள சுருக்க வகுப்பின் விதிகள் என்ன?

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

PHP இல் சுருக்க வகுப்பின் எடுத்துக்காட்டு

மேலே உள்ள உதாரணத்தின் விளக்கம்

<!-- wp:code -->
<pre class="wp-block-code"><code><?php
// Parent abstract class
abstract class Bike {
  public $name;
  public function __construct($name) {
    $this->name = $name;
  }
  abstract public function introduction() : string;
}

// Child classes defining the parent classes
class Honda extends Bike {
  public function intro() : string {
    return "I am $this->name!";
  }
}

class Suzuki extends Bike {
  public function introduction() : string {
    return "I am $this->name!";
  }
}

// Objects from child classes
$honda = new honda("Honda");
echo $honda->introduction();

$suzuki= new suzuki("Suzuki");
echo $suzuki->introduction();

?></code></pre>
<!-- /wp:code -->
  • மேலே உள்ள எடுத்துக்காட்டில், நாம் ஒரு சுருக்க வகுப்பை உருவாக்குகிறோம் இரு சக்கர வண்டி இது ஒரு சுருக்க முறையைக் கொண்டுள்ளது அறிமுகம்.
  • நாங்கள் இரண்டு குழந்தை வகுப்புகளை உருவாக்குகிறோம் ஹோண்டா மற்றும் சுசூகி இது சுருக்க வகுப்பை விரிவுபடுத்துகிறது மற்றும் அறிமுக முறையை வரையறுக்கிறது.
  • இந்த வகுப்புகளின் பொருள்களை உருவாக்கி, அவற்றின் பொருட்களைப் பயன்படுத்தி அறிமுக முறையை அழைக்கிறோம். அறிமுகம் முறை அதன் தொடர்புடைய வகுப்பால் கொடுக்கப்பட்ட செயல்படுத்தலின் படி செயல்படுகிறது.

முறை மேலெழுதலில் கூடுதல் வாதங்களைக் கொண்ட சுருக்க வகுப்பின் எடுத்துக்காட்டு

<?php
// Parent abstract class
abstract class Bike {
  public $name;
  public function __construct($name) {
    $this->name = $name;
  }
  abstract protected function introduction($model) : string;
}

// Child classes defining the parent classes
class Honda extends Bike {
  public function intro($model) : string {
    return "I am $this->name. My model is $model";
  }
}

class Suzuki extends Bike {
  public function introduction($model, $color=null) : string {
    return "I am $this->name. My model is $model and color is $color";
  }
}

// Objects from child classes
$honda = new honda("Honda");
echo $honda->introduction();

$suzuki= new suzuki("Suzuki");
echo $suzuki->introduction();
?>

மேலே உள்ள உதாரணத்தின் விளக்கம்

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

குறிப்பு: சுருக்க வகுப்பில் எந்த கன்ஸ்ட்ரக்டர் முறையும் இல்லை. எனவே, நாம் ஒரு சுருக்க வர்க்கத்தின் உதாரணத்தை உருவாக்க முடியாது.

வகுப்பு சுருக்கம் PHP 8 அதிகாரப்பூர்வ ஆவணம்.

PHP OOP இல் நிலையானது
php இடைமுகம் vs சுருக்க வகுப்பு
en English
X
டாப் உருட்டு