1. Chào Khách! Khi bạn tham gia diễn đàn thương mại điện tử Mua Bán Plus (MB+) xin vui lòng đọc kỹ những điều khoản trong bản nội quy và quy định.... ( Xem chi tiết)
  2. Việc mua một sản phẩm trên mạng, đặc biệt là sản phẩm đã qua sử dụng đôi khi có thể có những rủi ro lớn. Một số lưu ý nhỏ sau đây bạn nên xem qua để đảm bảo an toàn hơn khi mua hàng trực tuyến. ( Xem chi tiết)

Hà Nội Hướng đối tượng là thế nào, cách khai báo, cài đặt và truy xuất đối tượng.

Thảo luận trong 'Thị trường khác' bắt đầu bởi cuaninh92, 11/7/16.

  1. MB+ - Part 1 : Hướng đối tượng nghĩa là gì, cách thức khai báo, setting và truy xuất đối tượng, thuộc tính, phương thức

    [​IMG]
    Trong nhiều năm, PHP đã bị cho là một ngôn ngữ nghèo nàn, và đứng thứ hạng thấp trong bảng xếp hạng ngôn ngữ lập trình bởi ví nó không hỗ trợ tính hướng đối tượng. tới năm 2004, phiên bản PHP 5 ra đời đã tạo ra bước ngoắc mới cho ngôn ngữ lập trình PHP, giúp PHP bắt kịp với xu thế và trở nên một trong nhiều đối thủ nặng ký therefore với những ngôn ngữ lập trình khác. Vậy thì hướng đối tượng là gì? và vì sao nó lại đóng một tác dụng to mập như vậy ? Hít một hơi thật sâu, làm vài động tác thể dục, ngồi thẳng lưng và chúng ta khởi đầu phân tích và khám phá về hướng đối tượng (OOP) trong PHP nào

    Theo như định nghĩa của Wikipedia thì :
    Object-oriented programming Magento Marketplace At the time one ‘programming paradigm that represents concepts At the time “objects” that Having data fields and associated procedures known When “methods”.

    Hướng đối tương là môt mô hình lập trình phân tách nội dụng của chương trình theo hướng cổ điển (thủ tục) và nhóm những thuộc tính, phương thức (properties, methods) giống nhau thành một đối tượng (class), giúp rút ngắn , tránh việc dư thừa, và giữ vững được nguyên tắcDRY – DONT REPEAT YOURSELF, dễ dàng trong vấn đề báo trì, tăng hiệu quả công việc.
    Hãy thử mường tượng bạn xây dựng 1 trang web hoặc một hệ thống lên cả nghìn, thậm chí hàng triệu dòng code, các mã lệnh đươc viết theo hướng cổ kính, một trang web (page) chứa nào là html, php,js, xử lý xen lẫn, trà trộn với nhau. Và Vậy là mỗi lần sinh ra lỗi, gặp phải một vấn đề nào đó hay chỉ đơn thuần là sửa vài chỗ ốm khi có chỉnh sửa yêu cầu thì bạn phải lục tung cả mớ code, đi sửa từng chỗ này chỗ kia vì những đoạn code trùng lặp, điều này quả tình là một cơn ác hiểm mộng đối với một nhà phát triển. Chính thành thử OOP ra đời nhằm giúp bạn giải quyết vấn đề này.

    1. Cấu trúc class

    Để khai báo một class trong PHP, ta dùng từ khóa lesson, theo sau là tên class và một cặp ngoặc nhọn
    <?php
    class KungfuClass
    // những phương thức và thuộc tính của class được đặt ở đây

    ?>

    Sau khi tạo class xong, chúng ta có thể lưu trữ course vào một biến, và sử dụng biến này truy xuất các phương thức , thuộc tính của lesson
    Để lưu trữ lesson vào biến, ta dùng từ khóa ne
    <?php
    $object = current KungfuClass();
    ?>


    Để xem cấu trúc và nội dung của lesson như thế nào, bạn dùng từ khóa var_dump() ,
    <?php
    var_dump($object);
    ?>


    copy tất cả nội dung :
    <?php lesson KungfuClass
    // các phương thức và thuộc tính của class được đặt ở đây
    // Lưu trức lesson vào biến
    $object = modern KungfuClass();
    var_dump($object);
    ?>


    Vào một file đặt tên là bai1.php và lưu vào thư mục gốc của website, chạy đường dẫn localhost/bai1.php và xem kết quả. Vậy là xong, chúng ta đã hoàn thành đoạn mã hướng đối tượng đầu tiên một bí quyết đơn giản nhất, tiếp theo hãy mày mò cách khai báo thuộc tính và phương thức trong lesson.
    2) Khai báo phương tính chất của course

    thuộc tính của course hiểu một bí quyết dễ dàng là chỉ như là một biến chứa dữ liệu bình thường của PHP, chỉ có khác biệt là nó được đặt vào course và có mối liên quan khắn khít với course chưa nó, và muốn truy xuất được tính chất của course thì phải thông qua một thing . bí quyết khai báo tính chất của lesson như sau
    <?php
    class KungfuClass

    public $property1 = "Mình là thuộc tính của class KungfuClass !";

    // Đưa lesson KungfuClass vào thing $object
    $object = modern KungfuClass;
    // Xem nội dung object
    var_dump($object);
    ?>

    3.) Truy xuất thuộc tính trong course

    Để có thể truy xuất thuộc tính trong lesson, ta dùng con trỏ “->” của đối tượng thing. ví thử chúng ta muốn truy xuất thuộc tính $property1 và xuất ra ngoài màng hình dòng chữ “Mình là tính chất của course KungfuClass!”, hãy xem đoạn code dưới đây
    <?php
    $object = current KungfuClass();
    echo $object->property1;
    ?>

    4.) Khai báo phương thức trong course

    Cũng như thuộc tính, phương thức của lesson hiểu đơn giản chính là function được đặt trong course, và có mối liên quan khắn khít với course. Để tạo phương thức trong course, chúng ta làm như sau
    <?php
    class KungfuClass

    public $property1 = "Mình là thuộc tính của lesson KungfuClass !";
    function myMethod()
    echo "Xin chào, tôi là phương thức của lesson KungfuClass !";


    // Đưa course KungfuClass vào thing $object
    $object = novel KungfuClass;
    // Xem nội dung thing
    var_dump($object);
    ?>

    5 .) Truy xuất phương thức trong course

    Để truy xuất phương thức trong course, cũng như truy xuất thuộc tính, dễ dàng chúng ta dùng con trỏ ->
    <?php
    class KungfuClass

    public $property1 = "Mình là thuộc tính của class KungfuClass !";
    function myMethod()
    echo "Xin chào, tôi là phương thức của course KungfuClass !";


    // Đưa lesson KungfuClass vào thing $object
    $object = modern KungfuClass();
    // Xuất ra màng hình dòng chữ "Xin chào, tôi là phương thức của class KungfuClass !";
    $object -> myMethod();
    ?>

    Bên cạnh đó, hướng đối tượng cho phép chúng ta setting và truy xuất tính chất, phương thức bên trong course thông qua con trỏ $this
    <?php
    lesson KungfuClass

    public $property1 = "Mình là thuộc tính của lesson KungfuClass !";
    function myMethod()
    echo "Xin chào, tôi là phương thức của class KungfuClass !";

    function myMethod2()
    //truy xuất tới thuộc tính $property1
    echo $this->property1;
    echo "<br />";
    $this->myMethod();


    // Đưa course KungfuClass vào object $object
    $object = new KungfuClass();
    // Xuất ra màng hình dòng chữ "Mình là tính chất của class KungfuClass !" và "Xin chào, tôi là phương thức của lesson KungfuClass !"
    $object -> myMethod2();
    ?>

    Chạy lại đoạn script trên, chúng ta sẽ thấy xuất hiện ra ngoài trình duyệt 2 dòng chữ đó là “Mình là tính chất của course KungfuClass !” và “Xin chào, tôi là phương thức của class KungfuClass !”.
    Bằng bí quyết nhóm các đối tượng có điểm tương đồng về thuộc tính và phương thức trong một lesson, ta gọi là lớp phụ vương, và được những lớp khác kế thừa lại (lớp con). Chúng ta sẽ không phải mất thời kì cho việc phải khai báo đi , khai báo lại những đặc điểm chung đó. chả hạn như khi nói về xe, chúng ta có nào là xe hơi, xe máy, xe ô tô, xe tăng,…Chúng ta nhận thấy tất cả chúng đều có các đặc điểm chúng như là : vận tốc màu sắc đẹp, trọng lương, có thể chạy được,…chúng ta sẽ quy chúng về một lớp chung, tạm gọi là lớp Xe, trong lớp Xe này sẽ có các tính chất là vận tốc, màu sắc đẹp, kích cỡ và phương thức chung đó là chạy
    <?php
    course XeClass

    public $verhicle = "10km/h";
    public $weight= "1 tấn";
    public $color = "đỏ";
    function run()
    echo "Xe đang chạy";

    // Đưa class XeClass vào thing $xe
    $xe= current XeClass();
    ?>

    Ở tỉ dụ trên, lớp xe là lớp phụ thân, chứa các đặc tính chung của những kiểu xe và những loại xe như xe hơi, xe máy, xe tăng,.. là những lớp con sẽ mang nhưng đặc điểm của lớp phụ thân, nhưng khác nhau ở các chi tiết như xe hơi thì có tốc độ chạy cao hơn xe máy, xe máy thì chạy nhanh hơn xe tăng,.. hoặc sự không giống nhau về màu sắc đẹp như xanh, đỏ, tím, vàng,…
    <?php

    course XeClass

    public $verhicle = "10km/s";

    public $weight= "1 tấn";

    public $color = "đỏ";

    function setVerhicle($verhicle_param)

    $this -> verhicle =$verhicle_param;



    function getVerhicle()

    return $this -> verhicle;



    function run()
    echo "Xe đang chạy";


    // Khởi tạo đối tượng xe hơi
    $xehoi = current XeClass();

    // Khởi tạo đối tượng xe máy
    $xemay = modern XeClass();

    // Khởi tạo đối tượng xe tăng
    $xetang = recent XeClass();

    //xe hơicó vận tốc 100km/h

    $xehoi -> setVerhicle ("100km/h");

    //xe máy có vận tốc 60km/h

    $xemay -> setVerhicle("60km/h");

    //xe tăngcó vận tốc 50km/h

    $xetang -> setVerhicle("50km/h");

    //Xuất ra vận tốc các loại xe khác nhauy

    //Vận tốc xe hơi

    echo $xehoi->getVerhicle();

    //Vận tốc xe máy

    echo $xemay->getVerhicle();

    //Vận tốc xe tăng

    echo $xetang->getVerhicle();
    ?>

    Ở các ví dụ trên, cả nhà có để ý thấy từ khóa “public” ko ? Đó chính là tầm vực của biến, bài viết tới mình sẽ nói cụ thể hơn về vấn đề này. Thân !
    :

    Chia sẻ trang này

  2. Comments0 Đăng bình luận

Chia sẻ trang này