آموزش برنامه نویسی PHP-جلسه هجدهم

ژوئیه 09, 2024 10 mins read

در طراحی توابع یا شی‌ها نیاز داریم فانکشن هایی داشته باشیم که کارکرد متفاوتی داشته باشند ولی اسامی یکسانی داشته باشند. این فانکشن در کلاس مادر وجود دارد که در طول برنامه توسط بچه‌های والد کارایی تابع را تعیین می‌کنند.

Abstract Classes

<?php
// Parent class
abstract class Car {
 public $name;
 public function __construct($name) {
   $this->name = $name;
 }
 abstract public function intro() : string;
}
// Child classes
class Audi extends Car {
 public function intro() : string {
   return “Choose German quality! I’m an $this->name!”;
 }
}
class Volvo extends Car {
 public function intro() : string {
   return “Proud to be Swedish! I’m a $this->name!”;
 }
}
class Citroen extends Car {
 public function intro() : string {
   return “French extravagance! I’m a $this->name!”;
 }
}
// Create objects from the child classes
$audi = new audi(“Audi”);
echo $audi->intro();
echo “<br>”;
$volvo = new volvo(“Volvo”);
echo $volvo->intro();
echo “<br>”;
$citroen = new citroen(“Citroen”);
echo $citroen->intro();
?>

 پیشنهاد ویژه ما: آموزش php

Interfaces

بسیار شبیه کلاس‌ها هستند. اگر بخواهیم متغیرهایی را در طول کل برنامه استفاده کنیم از interface که رابط برقراری ارتباط بین کلاس‌ها و متغیرهای مختلف هستند استفاده می‌کنیم. تا یکسری متغیرها و توابعی که کارکرد عمومی دارند را تعریف کنیم. برای ساخت interface کافیه یک اسم دلخواه را بنویسیم و قبلش یک interface قرار بدهیم.

 <?php
// Interface definition
interface Animal {
 public function makeSound();
}
// Class definitions
class Cat implements Animal {
 public function makeSound() {
   echo ” Meow “;
 }
}
class Dog implements Animal {
 public function makeSound() {
   echo ” Bark “;
 }
}
class Mouse implements Animal {
 public function makeSound() {
   echo ” Squeak “;
 }
}
// Create a list of animals
$cat = new Cat();
$dog = new Dog();
$mouse = new Mouse();
$animals = array($cat, $dog, $mouse);
// Tell the animals to make a sound
foreach($animals as $animal) {
 $animal->makeSound();
}
?>

داخل interface توابع رو می‌سازیم هر جا لازمه برای کلاسی interface رو استفاده کنیم با کلمه implements اسم interface که همون Animal می‌آوریم. و اون تابع داخل این کلاسی قابل تعریف مجدد میشه. Interface کمک میکنه توابع یا متغیرهایی را بین کلاس‌های مختلف ب اشتراک بگذارید.

Image NewsLetter
Icon primary
Newsletter

در خبرنامه آرتا رسانه عضو شوید

با آخرین اخبار و تخفیف های ما آگاه شوید