php ഇന്റർഫേസ് vs അമൂർത്ത ക്ലാസ്

PHP-യിലെ ഒരു അബ്‌സ്‌ട്രാക്റ്റ് ക്ലാസ് എന്താണ്?
PHP-യിലെ സവിശേഷതകൾ

ഈ വിപുലമായ പാഠത്തിൽ, PHP-യുടെ ഇന്റർഫേസ് പ്രവർത്തനത്തിന്റെ സങ്കീർണ്ണതകൾ ഞങ്ങൾ പരിശോധിക്കും. ഈ പോസ്റ്റിൽ നിന്ന്, രണ്ട് നിർണായക PHP ആശയങ്ങൾ തമ്മിലുള്ള വ്യത്യാസങ്ങളും സമാനതകളും ഞങ്ങൾ നോക്കാം: ഇന്റർഫേസുകൾ vs അമൂർത്ത ക്ലാസുകൾ. നിങ്ങളുടെ കോഡിലെ ഇന്റർഫേസുകളും അബ്‌സ്‌ട്രാക്റ്റ് ക്ലാസുകളും ഉപയോഗിക്കുന്നതിന്റെ ഗുണങ്ങളും ദോഷങ്ങളും ഞങ്ങൾ വാക്യഘടനയും ഓരോന്നിനുമുള്ള കേസുകൾ നോക്കും. ഈ സെഷന്റെ അവസാനത്തോടെ, പി‌എച്ച്‌പി ഇന്റർഫേസുകൾ എപ്പോൾ ഉപയോഗിക്കണമെന്നും അമൂർത്ത ക്ലാസുകൾ എപ്പോൾ ഉപയോഗിക്കണമെന്നും നിങ്ങളുടെ പ്രോഗ്രാമിംഗ് പ്രോജക്റ്റുകളിൽ അവ എങ്ങനെ പ്രയോഗിക്കാമെന്നും നിങ്ങൾക്കറിയാം.

OOP-യിലെ ഒരു ഇന്റർഫേസ് എന്താണ്?

  • അമൂർത്തമായ രീതികൾ മാത്രം ഉൾക്കൊള്ളുന്ന ഒരു ക്ലാസാണ് ഇന്റർഫേസ്.
  • ഇന്റർഫേസ് ക്ലാസ് ഉപയോഗിക്കുന്നതിലൂടെ, ഇന്റർഫേസ് വിപുലീകരിക്കുന്ന ഒരു ക്ലാസ് ഏത് രീതികളാണ് നടപ്പിലാക്കേണ്ടതെന്ന് നമുക്ക് വ്യക്തമാക്കാം.
  • അബ്‌സ്‌ട്രാക്റ്റ് ക്ലാസിൽ നിന്ന് വ്യത്യസ്തമായി, നിങ്ങൾ രീതികൾ ഉപയോഗിച്ച് അമൂർത്തങ്ങൾ എഴുതേണ്ടതില്ല, കാരണം ഒരു ഇന്റർഫേസിന് അതിൽ അമൂർത്ത രീതികൾ മാത്രമേ ഉണ്ടാകൂ.
  • ഇന്റർഫേസ് ഒരു ഇന്റർഫേസ് ക്ലാസ് പ്രഖ്യാപിക്കാൻ കീവേഡ് ഉപയോഗിക്കുന്നു. PHP-യിലെ ഒരു ഇന്റർഫേസ് ക്ലാസ്സിന്റെ ഇനിപ്പറയുന്ന വാക്യഘടന നോക്കുക.
<?php
interface InterfaceName {
  public function someMethod1();
  public function someMethod2($name, $color);
  public function someMethod3() : string;
}
?>

അമൂർത്ത ക്ലാസുകളും ഇന്റർഫേസുകളും തികച്ചും സമാനമാണെങ്കിലും അവ യുക്തിപരമായി പരസ്പരം വ്യത്യസ്തമാണ്.

PHP-യിലെ ഇന്റർഫേസും അബ്‌സ്‌ട്രാക്റ്റ് ക്ലാസുകളും തമ്മിലുള്ള വ്യത്യാസം

ഇന്റർഫേസ് ക്ലാസ്അമൂർത്ത ക്ലാസ്
പ്രോപ്പർട്ടികൾ ഉൾക്കൊള്ളാൻ കഴിയില്ലപ്രോപ്പർട്ടികൾ അടങ്ങിയിരിക്കാം
എല്ലാ രീതികളും അമൂർത്തമാണ്, കൂടാതെ രീതികൾക്കൊപ്പം അമൂർത്തമായ കീവേഡും ആവശ്യമില്ല.കോൺ അമൂർത്തവും അല്ലാത്തതുമായ രീതികൾ ഉൾക്കൊള്ളുന്നു. അമൂർത്ത രീതി പ്രഖ്യാപിക്കാൻ അബ്‌സ്‌ട്രാക്റ്റ് കീവേഡ് ആവശ്യമാണ്.
ഒരു ക്ലാസിന് മറ്റൊരു ക്ലാസിൽ നിന്ന് പാരമ്പര്യമായി ഒരു ഇന്റർഫേസ് നടപ്പിലാക്കാൻ കഴിയും. ഒരു ചൈൽഡ് ക്ലാസിന് ഒരേ സമയം ഒരു ഇന്റർഫേസ് നടപ്പിലാക്കാൻ കഴിയുമെന്നാണ് ഇതിനർത്ഥം.ഒരു ചൈൽഡ് ക്ലാസ് (മറ്റൊരു ക്ലാസിൽ നിന്ന് പാരമ്പര്യമായി ലഭിക്കുന്നത്), അമൂർത്ത ക്ലാസ് നടപ്പിലാക്കാൻ കഴിയില്ല.
ആക്സസ് മോഡിഫയറുകളുമായി ബന്ധപ്പെട്ട് എല്ലാ രീതികളും പൊതുവായിരിക്കണം.ആക്സസ് മോഡിഫയറുകളുമായി ബന്ധപ്പെട്ട് രീതികൾ പൊതുവായതോ പരിരക്ഷിതമോ ആകാം.
ഇന്റർഫേസുകൾ vs അമൂർത്ത ക്ലാസുകൾ

PHP-യിലെ ഇന്റർഫേസിന്റെ ഉദാഹരണം

ഇന്റർഫേസ് PHP-യിൽ ഒരു ഇന്റർഫേസ് പ്രഖ്യാപിക്കാൻ കീവേഡ് ഉപയോഗിക്കുന്നു. PHP-യിലെ ഇന്റർഫേസിന്റെ ഇനിപ്പറയുന്ന നടപ്പാക്കൽ നോക്കുക.

<?php
interface Unit {
  public function standard_unit();
}

class Weight implements Unit {
  public function standard_unit() {
    echo "Kg";
  }
}

$weight= new Weight();
$weight->standard_unit();
?>
  • മുകളിലെ ഉദാഹരണത്തിൽ. ഞങ്ങൾ ഒരു ഇന്റർഫേസ് ക്ലാസ് യൂണിറ്റ് സൃഷ്ടിക്കുന്നു, അതിൽ ഒരു രീതി standard_unit അടങ്ങിയിരിക്കുന്നു.
  • തുടർന്ന് ഞങ്ങൾ മറ്റൊരു ക്ലാസ് സൃഷ്ടിക്കുന്നു ഭാരം അത് നടപ്പിലാക്കുന്നു ഘടകം ഇന്റർഫേസ്, അതിലെ standard_unit രീതി നിർവചിക്കുന്നു.
  • മുകളിലെ ഉദാഹരണത്തിൽ നിന്ന്, ഇന്റർഫേസ് ഉപയോഗിക്കുന്ന ക്ലാസിന് അതിന്റെ രീതിയെ മറികടക്കാൻ കഴിയുമെന്നും അത് അതിന്റേതായ രീതിയിൽ ഉപയോഗിക്കാമെന്നും നമുക്ക് കാണാൻ കഴിയും. നമുക്ക് മറ്റൊരു ക്ലാസ് ദൈർഘ്യമുണ്ടെന്ന് പറയാം, അതിന് സ്റ്റാൻഡേർഡ്_യൂണിറ്റ് രീതി അതിന്റേതായ രീതിയിൽ ഉപയോഗിക്കാം.
  • SI യൂണിറ്റുകളുള്ള എല്ലാ ഭൗതിക അളവുകൾക്കും പ്രവർത്തിക്കുന്ന ലോജിക് നമുക്ക് എഴുതാം. ഇനിപ്പറയുന്ന ഉദാഹരണം നോക്കുക.
<?php
// Interface definition
interface Unit {
  public function standard_unit();
}

// Class definitions
class Weight implements Unit {
  public function makeSound() {
    echo " kg";
  }
}

class Length implements Unit {
  public function standard_unit() {
    echo " meter";
  }
}

class Temperature implements Unit {
  public function standard_unit() {
    echo " celcius";
  }
}

// Create a list of Physical Quanitites
$weight = new Weight();
$length = new Length();
$temperature = new Temperature();
$quantities= array($weight, $length, $temperature);

// Tell the quantities to use its standard unit
foreach($quantities as $quantities) {
  $quantitiy->standard_unit();
}
?>
  • മുകളിലുള്ള ഉദാഹരണത്തിൽ, മുമ്പത്തെ ഉദാഹരണത്തിലെന്നപോലെ ഞങ്ങൾ സമാനമായ ക്ലാസുകൾ സൃഷ്ടിക്കുന്നു.
  • ഭാരം, ദൈർഘ്യം, താപനില ക്ലാസുകൾ ഒരേ ഇന്റർഫേസ് നടപ്പിലാക്കുന്നു കൂടാതെ സ്റ്റാൻഡേർഡ്_യൂണിറ്റ് രീതി അതിന്റേതായ രീതിയിൽ ഉപയോഗിക്കാം. അതിനാൽ, ഞങ്ങൾ ഈ ക്ലാസുകളിലെ ഒബ്‌ജക്റ്റുകളുടെ ഒരു നിര ഉണ്ടാക്കുകയും അവയെ സ്റ്റാൻഡേർഡ്_യൂണിറ്റ് രീതിയിലേക്ക് ഓരോന്നായി ലൂപ്പ് ചെയ്യുകയും ചെയ്യുന്നു.

ഔദ്യോഗിക PHP 8 ഇന്റർഫേസ് ഡോക്യുമെന്റേഷനിലേക്കുള്ള റഫറൻസ്.

PHP-യിലെ ഒരു അബ്‌സ്‌ട്രാക്റ്റ് ക്ലാസ് എന്താണ്?
PHP-യിലെ സവിശേഷതകൾ
en English
X
ടോപ്പ് സ്ക്രോൾ