Ví dụ lớp trừu tượng php

Các lớp và phương thức trừu tượng là khi lớp cha có một phương thức được đặt tên, nhưng cần (các) lớp con của nó để thực hiện các tác vụ

Lớp trừu tượng là lớp chứa ít nhất một phương thức trừu tượng. Một phương thức trừu tượng là một phương thức được khai báo, nhưng không được triển khai trong mã

Một lớp hoặc phương thức trừu tượng được định nghĩa bằng từ khóa abstract

cú pháp

lớp trừu tượng ParentClass {
  hàm công khai trừu tượng someMethod1();
  hàm công khai trừu tượng someMethod2($name, $color);
  abstract public function someMethod3() : string;
}
?>

Khi kế thừa từ một lớp trừu tượng, phương thức của lớp con phải được định nghĩa có cùng tên và cùng hoặc một công cụ sửa đổi truy cập ít bị hạn chế hơn. Vì vậy, nếu phương thức trừu tượng được định nghĩa là được bảo vệ, thì phương thức của lớp con phải được định nghĩa là được bảo vệ hoặc công khai, nhưng không phải là riêng tư. Ngoài ra, loại và số lượng đối số bắt buộc phải giống nhau. Tuy nhiên, các lớp con có thể có thêm các đối số tùy chọn

Vì vậy, khi một lớp con được kế thừa từ một lớp trừu tượng, chúng ta có các quy tắc sau

  • Phương thức của lớp con phải được định nghĩa cùng tên và nó khai báo lại phương thức trừu tượng của lớp cha
  • Phương thức của lớp con phải được định nghĩa với cùng một công cụ sửa đổi truy cập ít bị hạn chế hơn
  • Số lượng đối số bắt buộc phải giống nhau. Tuy nhiên, lớp con có thể có thêm các đối số tùy chọn

Hãy xem một ví dụ

Thí dụ

// Lớp cha
lớp trừu tượng Xe {
  public $name;
  public function __construct($name . chuỗi;
    $this->name = $name;
  }
  abstract public function intro() : string;
}

// Các lớp con
class Audi extends Car {
  public function intro(). chuỗi {
    return "Chọn chất lượng của Đức. Tôi là $this->name. ";
  }
}

class Volvo mở rộng Car {
  public function intro(). string {
    return "Tự hào là người Thụy Điển. Tôi là $this->name. ";
  }
}

class Citroen extends Car {
  public function intro(). chuỗi {
    return "Sự xa hoa kiểu Pháp. Tôi là $this->name. ";
  }
}

// Tạo đối tượng từ các lớp con
$audi = new audi("Audi");
echo $audi->intro()
echo "
";

$volvo = new volvo("Volvo");
echo $volvo->intro();
echo "
";

$citroen = new citroen("Citroen");
echo $citroen->intro();
?>

Tự mình thử »

Ví dụ giải thích

Các lớp Audi, Volvo và Citroen được kế thừa từ lớp Car. Điều này có nghĩa là các lớp Audi, Volvo và Citroen có thể sử dụng thuộc tính public $name cũng như phương thức public __construct() từ lớp Car do tính kế thừa

Tuy nhiên, intro() là một phương thức trừu tượng nên được định nghĩa trong tất cả các lớp con và chúng sẽ trả về một chuỗi



PHP - Các ví dụ về lớp trừu tượng khác

Hãy xem một ví dụ khác trong đó phương thức trừu tượng có một đối số và lớp con có hai đối số tùy chọn không được định nghĩa trong phương thức trừu tượng của lớp cha

Lợi thế nếu tôi sử dụng các lớp đối tượng trong PHP là gì? . Tôi nghĩ rằng tôi có thể dễ dàng thực hiện tất cả các công việc bằng cách sử dụng Lớp hiển thị?

Nội dung chính Hiển thị

  • Tại sao chúng ta sử dụng các đối tượng trong PHP?
  • PHP - Các lớp và phương pháp hiển thị đối tượng là gì?
  • Lớp phiếu đối tượng trong Java cho phép cách tốt nhất để thực hiện quá trình hiển thị đối tượng hóa dữ liệu bằng cách cung cấp cho các nhà phát triển tùy chọn ẩn mã khai thác. Nó cũng trình bày người dùng cuối cùng với một mẫu giải thích các phương pháp liên quan
  • Một lớp hiển thị là một lớp chứa ít nhất một phương pháp đối tượng. Một phương pháp lật tượng là một phương thức được khai báo, nhưng không được thực hiện trong mã
  • Khi nào các lớp vật liệu nào nên được sử dụng?
  • Tại sao chúng ta sử dụng các đối tượng trong PHP?
  • Lợi ích của việc sử dụng các lớp đối tượng là gì?

You could, one way natural. Tuy nhiên, nếu có nhiều đối tượng cùng loại, nó có thể giúp trích xuất chức năng chung vào một lớp "cơ sở", điều đó có nghĩa là bạn không cần phải sao chép logic đó

Thực tế có hai lý do mặc dù. Lý do đầu tiên, đối với tôi, là tất cả các hậu duệ của lớp hiển vật của bạn có cùng loại và cả hai đều lau thủ cùng một giao diện. Điều đó có nghĩa là một tài liệu PDF kỳ hạn sẽ có giao diện giống như tài liệu DOCX và mã máy khách không quan tâm đến đối tượng nào nó đang xử lý. Ví dụ rút gọn (trong PHP). cùng loại và cả hai đều tuân theo cùng một giao diện. Điều đó có nghĩa là một tài liệu PDF chẳng hạn sẽ có giao diện giống như tài liệu docx và mã máy khách không cần quan tâm đến đối tượng mà nó đang xử lý. Ví dụ ngắn (bằng PHP)

<?php
abstract class Document {
    protected $author;

    public function __construct( $author ) {
        $this->author = $author;
    }

    abstract public function render( );

    public function author( ) {
        return $this->author;
    }
}

class PdfDocument extends Document {
    public function render( ) {
        // do something PDF specific here.
    }
}

class DocxDocument extends Document {
    public function render( ) {
        // do something DOCX specific here.
    }
}


class DocumentHandler {
    public function handle( Document $document ) {
        $this->log( 'Author has been read ' . $document->author( ) );
        return $document->render( );
    }
}

Đầu tiên; . Nó thậm chí không quan tâm. It don't know what. Tuy nhiên, nó biết phương thức nào có thể được yêu cầu, bởi vì giao diện giữa hai loại tài liệu là giống nhau. Điều này được gọi là đa hình, và có thể dễ dàng đạt được nhờ việc thực hiện giao diện tài liệu

second part is; . Chẳng hạn, nếu bạn quyết định rằng bạn muốn tác giả được viết bằng thủ đô và bạn sẽ đổi trả $ this-> tác giả thành ucwords ($ this-> tác), bạn sẽ phải làm điều đó nhiều lần như vậy . Sử dụng một lớp đối tượng, bạn có thể xác định hành động vi khi đánh dấu bản thân Lớp không đầy đủ. Điều này rất tiện dụng

Hy vọng điều đó sẽ giúp


Tại sao chúng ta sử dụng các đối tượng trong PHP?

Trừu tượng trong bản tóm tắt dữ liệu PHP là tính năng quan trọng nhất của bất kỳ ngôn ngữ lập trình OOPS nào. Nó chỉ hiển thị thông tin hữu ích, còn lại là hình thức ẩn người dùng cuối. Trừu tượng là bất kỳ đại diện nào của dữ liệu trong đó các chi tiết thực tế được ẩn (trừu tượng hóa)

Lợi ích của việc sử dụng các lớp đối tượng là gì?

Lớp phiếu đối tượng trong Java cho phép cách tốt nhất để thực hiện quá trình hiển thị đối tượng hóa dữ liệu bằng cách cung cấp cho các nhà phát triển tùy chọn ẩn mã khai thác. Nó cũng trình bày người dùng cuối cùng với một mẫu giải thích các phương pháp liên quan

PHP - Các lớp và phương pháp hiển thị đối tượng là gì?

Các lớp và phương pháp hiển thị là khi lớp cha có một phương thức được đặt tên, nhưng cần (các) lớp con của nó để điền vào các nhiệm vụ.
lớp trừu tượng ParentClass {
  hàm công khai trừu tượng someMethod1();
  hàm công khai trừu tượng someMethod2($name, $color); . chuỗi;
  abstract public function someMethod3() : string;
}
?>

Một lớp hiển thị là một lớp chứa ít nhất một phương pháp đối tượng. Một phương pháp lật tượng là một phương thức được khai báo, nhưng không được thực hiện trong mã

Một lớp hoặc phương thức hiển thị được xác định với từ khóa abstract

  • cú pháp
  • Phương pháp lớp con phải được xác định tương tự hoặc một công cụ đã sửa đổi truy cập ít bị hạn chế
  • Khi kế thừa từ một lớp đối tượng, phương thức lớp con phải được xác định cùng tên và cùng một công cụ sửa đổi truy cập bị hạn chế. Vì vậy, nếu phương thức đối tượng được định nghĩa là được bảo vệ, phương pháp lớp con phải được định nghĩa là được bảo vệ hoặc công khai, nhưng không tư nhân. Ngoài ra, các loại và số lượng các đối số cần thiết phải giống nhau. Tuy nhiên, các lớp trẻ có thể có các đối số tùy chọn bên ngoài.

Vì vậy, khi một lớp trẻ được kế thừa từ một lớp đối tượng, chúng ta có các quy tắc sau

Thí dụ

Tên = $tên; . string; . chuỗi;
// Parent class
abstract class Car {
  public $name;
  public function __construct($name) {
    $this->name = $name;
  }
  abstract public function intro() : string;
}

layer ChildLass mở rộng ParentClass {& nbsp; . ", $chào = "dEg") if ($name == "John Doe") {      $prefix = "mr";  & . chuỗi {
class Audi extends Car {
  public function intro() : string {
    return "Chọn chất lượng của Đức. Tôi là $this->name. ";
  }
}

Khi nào các lớp tang vật nên được sử dụng?
  public function intro(). string {
    return "Tự hào là người Thụy Điển. Tôi là $this->name. ";
  }
}

Một lớp vật liệu được sử dụng nếu bạn muốn cung cấp một chức năng phổ biến, được khai thác trong số tất cả các khai thác của thành phần. Các lớp vật thể sẽ cho phép bạn thực hiện một phần lớp của mình, trong khi các giao diện sẽ không có việc triển khai cho bất kỳ thành viên nào.
  giới thiệu hàm công khai(). chuỗi {
    return "Sự xa hoa kiểu Pháp. Tôi là $this->name. ";
  }
}

Tại sao chúng ta sử dụng quang đối tượng trong PHP?
$audi = new audi("Audi");
echo $audi->
echo "
";

Trừu tượng trong bản tóm tắt dữ liệu PHP là tính năng quan trọng nhất của bất kỳ ngôn ngữ lập trình OOPS nào. Nó chỉ hiển thị thông tin hữu ích, còn lại là hình thức ẩn người dùng cuối. Trừu tượng là bất kỳ đại diện nào của dữ liệu trong đó các chi tiết thực tế được ẩn (trừu tượng hóa).
echo $volvo->intro();
echo "
";

Lợi ích của việc sử dụng Lớp đối tượng là gì?
echo $citroen->intro();
?>

Please tự mình thử »

Lớp phiếu đối tượng trong Java cho phép cách tốt nhất để thực hiện quá trình hiển thị đối tượng hóa dữ liệu bằng cách cung cấp cho các nhà phát triển tùy chọn ẩn mã khai thác. Nó cũng trình bày người dùng cuối cùng với một mẫu giải thích các phương pháp liên quan

PHP - Các lớp và phương pháp hiển thị đối tượng là gì?

Các lớp và phương pháp hiển thị là khi lớp cha có một phương thức được đặt tên, nhưng cần (các) lớp con của nó để điền vào các nhiệm vụ



Một lớp hiển thị là một lớp chứa ít nhất một phương pháp đối tượng. Một phương pháp lật tượng là một phương thức được khai báo, nhưng không được thực hiện trong mã

Một lớp hoặc phương thức hiển thị được xác định với từ khóa abstract

Thí dụ

Tên = $tên; . string;
abstract class ParentClass {
  // Abstract method with an argument
  abstract protected function prefixName($name);
}

layer ChildLass mở rộng ParentClass {& nbsp; . ", $chào = "dEg") if ($name == "John Doe") {      $prefix = "mr";  & . ";
  public function prefixName($name) {
    if ($name == "John Doe") {
      $prefix = "Mr.";
    }elseif ($name == "Jane Doe") {
      $prefix = "Mrs. ";
    } other {
      $prefix = "";
    }
    return "
  }
}

$ class = new ChildClass;
echo $class->prefixName("John Doe");
echo "
";
echo $class->prefixName("Jane Doe");
?>

Please tự mình thử »

Chúng ta hãy xem xét một ví dụ khác trong phương pháp hiển thị đối tượng đó có một đối số và lớp con có hai đối số tùy chọn chưa được xác định trong phương pháp hiển thị đối tượng của cha mẹ.

Thí dụ

lớp trừu tượng ParentClass {
  // ​​Phương thức trừu tượng có đối số
  hàm trừu tượng được bảo vệ prefixName($name);
}

layer ChildLass mở rộng ParentClass {& nbsp; . ", $chào = "dEg") if ($name == "John Doe") {      $prefix = "mr";  & . ", $greet = "Dear") {
  // The child class may define optional arguments that are not in the parent's abstract method
  public function prefixName($name, $separator = ".", $greet = "Dear") {
    if ($name == "John Doe") {
      $prefix = "Mr";
    } elseif ($name == "Jane Doe") {
      $prefix = "Mrs";
    } else {
      $prefix = "";
    }
    return "{$greet} {$prefix}{$separator} {$name}";
  }
}

$ class = new ChildClass;
echo $class->prefixName("John Doe");
echo "
";
echo $class->prefixName("Jane Doe");
?>

Please tự mình thử »



Khi nào các lớp vật liệu nào nên được sử dụng?

Một lớp vật liệu được sử dụng nếu bạn muốn cung cấp một chức năng phổ biến, được khai thác trong số tất cả các khai thác của thành phần. Các lớp vật thể sẽ cho phép bạn thực hiện một phần lớp của mình, trong khi các giao diện sẽ không có việc triển khai cho bất kỳ thành viên nào. nếu bạn muốn cung cấp chức năng chung, được triển khai trong số tất cả các hoạt động triển khai của thành phần . Các lớp trừu tượng sẽ cho phép bạn triển khai một phần lớp của mình, trong khi các giao diện sẽ không triển khai cho bất kỳ thành viên nào.

Tại sao chúng ta sử dụng các đối tượng trong PHP?

Trừu tượng trong bản tóm tắt dữ liệu PHP là tính năng quan trọng nhất của bất kỳ ngôn ngữ lập trình OOPS nào. Nó chỉ hiển thị thông tin hữu ích, còn lại là hình thức ẩn người dùng cuối. Trừu tượng là bất kỳ đại diện nào của dữ liệu trong đó các chi tiết thực tế được ẩn (trừu tượng hóa). Nó chỉ hiển thị thông tin hữu ích, còn lại là ẩn dưới dạng người dùng cuối . Trừu tượng hóa là bất kỳ biểu diễn nào của dữ liệu trong đó các chi tiết triển khai bị ẩn (trừu tượng hóa).

Lợi ích của việc sử dụng các lớp đối tượng là gì?

Lớp lật tượng trong Java cho phép cách tốt nhất để thực hiện quá trình hiển thị dữ liệu hóa vật bằng cách cung cấp cho các nhà phát triển tùy chọn ẩn mã khai triển. Nó cũng trình bày người dùng cuối cùng với một mẫu giải thích các phương pháp liên quan. cho phép cách tốt nhất để thực hiện quy trình trừu tượng hóa dữ liệu bằng cách cung cấp cho nhà phát triển tùy chọn ẩn việc triển khai mã