Đang tải dữ liệu...
Thiên đường website
Liên hệ
Chính sách
Khách hàng
Giới thiệu
Trang chủ
 
Dịch vụ
  • Thiết kế website
  • Hosting
  • Thiết kế đồ họa
  • SEO tăng thứ hạng
  • Nâng cấp website
  • Dịch vụ nhập liệu
  • Website cho điện thoại
  • Tích hợp thanh toán trực tuyến
  • Dịch vụ google cloud, ec2 cloud
  • SEO tools
  • Đọc tin Rss
Kiến thức cho bạn
  • Trao đổi - học tập
    • Jquery (2)
    • NoSQL (4)
    • NodeJs (1)
    • Lập trình iOS (3)
    • Thủ thuật - kinh nghiệm (33)
    • Lập trình website (63)
    • Tối ưu hóa (11)
    • Mã nguồn (20)
    • SEO (35)
    • Bảo mật (9)
    • htaccess (5)
    • Ebook - tài liệu (4)
    • WYSIWYG (3)
    • Phần mềm (11)
    • Photoshop (5)
  • Thư giản - giải trí
    • Sáng tạo (5)
    • Địa điểm vui chơi (5)
    • Quà tặng (2)
    • Truyện -hình vui (9)
    • Video clip (9)
    • Game (3)
Hỗ trợ trực tuyến
Kỹ thuật : 098 7277 329
vfa.hoangnn - Mr. Hoàng
Tư vấn : 090 282 4547
vfa.hoangnn - Mr. Hoàng
Đối tác
New day TravalReview CompanyMua sắm cả ngày


Mỹ phẩm The Face Shop
Mã giảm giá - Code khuyến mãi
Ốp lưng, Bao da Đẹp
Giá vàng, giá USD
Ốp lưng tự thiết kế
Oct
31

Lập trình php hướng đối tượng

12:21 pm GMT +7 Hanoi |
Trang chủ ›
Trao đổi - học tập ›
Lập trình website

Thêm vào trang Google +

Class: là một tập hợp các biến và các hàm cùng làm việc với các biến này. Một class được định nghĩa theo cú pháp sau:
<?php
class Cart
{
    var
$items;  // Items in our shopping cart
    
function add_item ($artnr, $num)
    {
       
$this->items[$artnr] += $num;
    }
    function
remove_item ($artnr, $num)
    {
        if (
$this->items[$artnr] > $num) {
            
$this->items[$artnr] -= $num;
            return
true;
        } else {
            return
false;
        }  
    }
}
?>
     
Ví dụ trên định nghĩa một class có tên là Cart, chứa các mảng kết hợp của các article trong một cart và hai hàm dùng để thêm và bỏ các thứ ra khỏi cart này.
Chú ý: trong PHP 4, chỉ có các hằng được khởi tạo cho các biến var mới được cho phép Để khởi tạo các biến với các giá trị không phải là hằng số, bạn cần có một hàm khởi tạo được gọi một cách tự động khi object được dựng từ lớp. Chẳng hạn như hàm được gọi trong một hàm dựng như sau:

                         


<?php
class Cart
{
    var
$todays_date = date("Y-m-d");
    var
$name = $firstname;
    var
$owner = 'Fred ' . 'Jones';
    var
$items = array("VCR", "TV");
}
class
Cart
{
    var
$todays_date;
    var
$name;
    var
$owner;
    var
$items;
    function
Cart()
    {
       
$this->todays_date = date("Y-m-d");
       
$this->name = $GLOBALS['firstname'];
       
/* etc. . . */
    
}
}
?>
     
2.     extends: thường thì bạn cần các lớp với các biến và các hàm tương tự cho một lớp tồn tại khác. Thực tế, rất tốt khi bạn định nghĩa một lớp chung mà được sử dụng trong các đồ án của bạn và chỉnh sửa lớp này cho thích nghi với nhu cầu của mỗi đồ án. Để thực hiện điều này, các class có thể được mở rộng từ các class khác.Việc mở rộng hay dẫn xuất một lớp có tất cả các biến và các hàm của lớp cha ( điều này được xem là thừa kế) và những gì bạn thêm vào trong định nghĩa mở rộng. Không giống như các ngôn ngữ lập trình hướng đối tượng khác, PHP không hỗ trợ đa thừa kế, cho nên một lớp mở rộng chỉ luôn luôn phụ thuộc vào một lớp cha riêng rẻ của nó. Các lớp được mở rộng sẽ sử dụng từ khoá extends. Ví dụ:

                         
class Named_Cart extends Cart{
    var
$owner;
    function
set_owner ($name){
       
$this->owner = $name;
    }
}

  
               
Ví dụ trên định nghĩa một lớp Named_Cart mà có tất cả các biến và các hàm của lớp Cart thêm và cộng thêm các biến $owener và hàm set_owner().

3.     Hàm dựng: là những hàm trong một lớp mà được tự động gọi khi bạn tạo ra một minh hoạ mới của một lớp với từ khoá new. Trong PHP4, một lớp được xem là hàm dựng khi nó có cùng tên với tên lớp mà nó được định nghĩa trong đó.Ví dụ:

                         
class Auto_Cart extends Cart
{
    function
Auto_Cart()
    {
       
$this->add_item ("10", 1);
    }
}

       
Ví dụ trên định nghĩa một lớp Auto_Cart mà một Cart có một hàm dựng khởi tạo mỗi khi một Auto_Cart mới được gọi bằng từ khoá new.
Các hàm dựng có thể có các đối số và các đối số này có thể là tuỳ chọn. Để sử dụng lớp mà không có tham số, tất cả các tham số đến hàm dựng nên là tuỳ chọn bằng cách cung cấp các giá trị mặc định. Ví dụ như sau:          

<?php
class Cart
{
    var
$items;  // Items in our shopping cart
    
function add_item ($artnr, $num)
    {
       
$this->items[$artnr] += $num;
    }
    function
remove_item ($artnr, $num)
    {
        if (
$this->items[$artnr] > $num) {
            
$this->items[$artnr] -= $num;
            return
true;
        } else {
            return
false;
        }  
    }
}
?>
     
Ví dụ trên định nghĩa một class có tên là Cart, chứa các mảng kết hợp của các article trong một cart và hai hàm dùng để thêm và bỏ các thứ ra khỏi cart này.
Chú ý: trong PHP 4, chỉ có các hằng được khởi tạo cho các biến var mới được cho phép Để khởi tạo các biến với các giá trị không phải là hằng số, bạn cần có một hàm khởi tạo được gọi một cách tự động khi object được dựng từ lớp. Chẳng hạn như hàm được gọi trong một hàm dựng như sau:

                         


<?php
class Cart
{
    var
$todays_date = date("Y-m-d");
    var
$name = $firstname;
    var
$owner = 'Fred ' . 'Jones';
    var
$items = array("VCR", "TV");
}
class
Cart
{
    var
$todays_date;
    var
$name;
    var
$owner;
    var
$items;
    function
Cart()
    {
       
$this->todays_date = date("Y-m-d");
       
$this->name = $GLOBALS['firstname'];
       
/* etc. . . */
    
}
}
?>
     
2.     extends: thường thì bạn cần các lớp với các biến và các hàm tương tự cho một lớp tồn tại khác. Thực tế, rất tốt khi bạn định nghĩa một lớp chung mà được sử dụng trong các đồ án của bạn và chỉnh sửa lớp này cho thích nghi với nhu cầu của mỗi đồ án. Để thực hiện điều này, các class có thể được mở rộng từ các class khác.Việc mở rộng hay dẫn xuất một lớp có tất cả các biến và các hàm của lớp cha ( điều này được xem là thừa kế) và những gì bạn thêm vào trong định nghĩa mở rộng. Không giống như các ngôn ngữ lập trình hướng đối tượng khác, PHP không hỗ trợ đa thừa kế, cho nên một lớp mở rộng chỉ luôn luôn phụ thuộc vào một lớp cha riêng rẻ của nó. Các lớp được mở rộng sẽ sử dụng từ khoá extends. Ví dụ:

                         


class Named_Cart extends Cart{
    var
$owner;
    function
set_owner ($name){
       
$this->owner = $name;
    }
}

  
                 
Ví dụ trên định nghĩa một lớp Named_Cart mà có tất cả các biến và các hàm của lớp Cart thêm và cộng thêm các biến $owener và hàm set_owner().

3.     Hàm dựng: là những hàm trong một lớp mà được tự động gọi khi bạn tạo ra một minh hoạ mới của một lớp với từ khoá new. Trong PHP4, một lớp được xem là hàm dựng khi nó có cùng tên với tên lớp mà nó được định nghĩa trong đó.Ví dụ:

                         


class Auto_Cart extends Cart
{
    function
Auto_Cart()
    {
       
$this->add_item ("10", 1);
    }
}

                 
Ví dụ trên định nghĩa một lớp Auto_Cart mà một Cart có một hàm dựng khởi tạo mỗi khi một Auto_Cart mới được gọi bằng từ khoá new.
Các hàm dựng có thể có các đối số và các đối số này có thể là tuỳ chọn. Để sử dụng lớp mà không có tham số, tất cả các tham số đến hàm dựng nên là tuỳ chọn bằng cách cung cấp các giá trị mặc định. Ví dụ như sau:            

class Constructor_Cart extends Car{
    function
Constructor_Cart($item = "10", $num = 1){
       
$this->add_item ($item, $num);
    }
}
// Shop the same old boring stuff.
$default_cart = new Constructor_Cart;
// Shop for real...
$different_cart = new Constructor_Cart("20", 17);

                 
Chú ý: trong PHP4 khi một lớp không có hàm dựng thì hàm dựng của lớp cha sẽ được gọi nếu nó tồn tại.Ví dụ:
     

class A
{
    function
A(){
        echo
"I am the constructor of A.
n"
;
    }
    function
B() {
        echo
"I am a regular function named B in class A.
n"
;
        echo
"I am not a constructor in A.
n"
;
    }
}
class
B extends A{
    function
C() {
        echo
"I am a regular function.
n"
;
    }
}
// gọi B() như là một hàm dựng
$b = new B;
Hầu hết Class đều có 1 phương thức đặc biệt để khởi động đối tượng  được gọi là "Constructor" .Phương thức Constructors được gọi khi đối tượng tạo ra,nó thường dùng để khởi tạo các chức năng như gán thuộc tính với giá trị hay tạo ra các đối tượng khác từ đối tượng này.Chẳng hạn như phát biểu sau được khai báo với Class có Constructor .Chú ý Constructor : là phương thức có tên là tên của class:



<?php

class classname
{
    function
classname($para)
    {
        echo
"Constructor called with parameter";
        echo
"$para";
    }
     
}

?>


Sau khi khai báo 1 class ,bạn cần phải tạo ra 1 đối tượng .Đối tượng này là 1 thành viên của class.Khi tạo ra 1 đối tượng mới ,bạn sử dụng từ khóa new và chỉ rõ class mà đối tượng đó trực thuộc

Ví dụ : tạo ra 1 class có tên là keke và trong class này khai báo 1 phương thức cũng có tên là keke với tham số $i:

<?php
class keke{
    function
keke($i){
        echo
"Contructor goi voi tham so $i .
"
;
          
    }
}

?>
<html>
<head>
<title> Class va Object</title>
</head>
<body>
<?php
// khai bao su dung class


$a= new keke("Ruoi");
$b= new keke("Muoi");
$c= new keke("Ruoi va Muoi");
?>

</body>
</html>


Bên trong class ,bạn có thể truy cập con trỏ đặc biệt gọi là $this .Một thuộc tính của lớp hiện hành gọi $attribute.bạn có thể tham chiếu đến chúng bằng cách khai báo như sau:

                         


$this->$attribute

               
Ví dụ : tạo ra 1 class có tên là name và phương thức có tên là name



<?php
class name{
    var
$attribute;
    function
get_name($name){
          
     
$this->attribute=$name;
      echo
"Your name is $this->attribute";
       
    }
}

// tao 1 doi tuong moi

$a= new name();
$a->get_name("iamhatinh");


?>


(Sưu tầm)

Thêm vào trang Google +
Số lần xem : 6485
Đánh giá
Facebook

Bài viết liên quan
  • 06/02/2015 16:16 html to image php script
  • 08/12/2014 11:22 Hướng dẫn cài đặt website php, mysql trên google app engine
  • 16/08/2014 15:41 Top 10 mẫu web đẹp ấn tượng
  • 11/09/2013 08:47 Cách dùng ob start , ob flush(), flush()
  • 30/01/2013 10:23 Tạo dịch vụ API trong PHP, PHP API rest
Bài viết mới hơn

<< Trang trước


Thienduongweb.com - Thiết kế website, tạo gian hàng miễn phí
Địa chỉ trụ sở chính: 241/45 Tân Hòa Đông, F14, Quận 6, TP.HCM
Email: info@thienduong.com
Điện thoại: 098 7277329