Bài 09: Tính trừu tượng hóa dữ liệu

Ví dụ khi một lập trình viên tạo một lớp (class) dùng đại diên cho các tài khoản tiền gửi ngân hàng của các khách hàng và đặt tên cho lớp này là BankAccount. Lớp này có hai thuộc tính là $balance và $interest dùng để lưu dữ liệu số tiền dư và lãi suất tiền gửi của tài khoản. class ...

Ví dụ khi một lập trình viên tạo một lớp (class) dùng đại diên cho các tài khoản tiền gửi ngân hàng của các khách hàng và đặt tên cho lớp này là BankAccount. Lớp này có hai thuộc tính là $balance và $interest dùng để lưu dữ liệu số tiền dư và lãi suất tiền gửi của tài khoản.

class BankAccount {
    public $balance;
    public $interest;
}
Tiếp theo lập trình viên này thêm các phương thức gửi tiền (deposit) và rút tiền (withdraw) như sau:
class BankAccount {
    public $balance; // số dư tài khoản
    public $interest; // lãi suất

    public function deposit ($amount) {
    // code...
    }

    public function withdraw ($amount) {
    // code...
    }
}

Với tính trừu tượng (abstraction) thì toàn bộ sự phức tạp của việc xử lý quá trình gửi tiền và rút tiền sẽ được thực hiện trong 2 phương thức deposit và withdraw. Các lập trình viên không cần phải quan tâm tới sự phức tạp (hay nội dung chi tiết) của việc xử lý các công việc gửi tiền và rút tiền trên mà chỉ cần biết mục đích của từng phương thức là gì.

Dưới đây là một cách thực hiện (implementation) của phương thức deposit:

// nạp tiền vào tài khoản
public function deposit ($amount) {
    if ($amount  100000000) { // tài khoản này cho phép nạp tối đa 100 triệu một lần
        return "Error! You exceed the maximum amount, please upgrade your account";
    }
    $balance += $amount; // tăng số dư tài khoản
}
Bài liên quan

Bài 09: Tính trừu tượng hóa dữ liệu

Ví dụ khi một lập trình viên tạo một lớp (class) dùng đại diên cho các tài khoản tiền gửi ngân hàng của các khách hàng và đặt tên cho lớp này là BankAccount. Lớp này có hai thuộc tính là $balance và $interest dùng để lưu dữ liệu số tiền dư và lãi suất tiền gửi của tài khoản. class ...

Vũ Văn Thanh viết 16:28 ngày 01/10/2018

Phần mềm mã hóa dữ liệu VeraCrypt 1.12 được bổ sung tính năng PIM mới

Mã hoá dữ liệu nhạy cảm của bạn là điều rất quan trọng. Như bạn đã biết: Bảo mật Toàn vẹn Có sẵn … Là những yếu tố thiết yếu của an ninh thông tin. Có khá nhiều công cụ và phương pháp có sẵn trên mạng, nhưng không phải tất cả các công cụ mã hóa đều giống nhau. Chúng ta đang ...

Vũ Văn Thanh viết 09:44 ngày 18/09/2018

Trừu tượng hóa dữ liệu trong C++

Trừu tượng hóa dữ liệu (Data abstraction) liên quan tới việc chỉ cung cấp thông tin cần thiết tới bên ngoài và ẩn chi tiết cơ sở của chúng, ví dụ: để biểu diễn thông tin cần thiết trong chương trình mà không hiển thị chi tiết về chúng. Trừu tượng hóa dữ liệu (Data abstraction) là một kỹ ...

Trịnh Tiến Mạnh viết 12:42 ngày 14/08/2018

Mô hình hóa dữ liệu trong MongoDB

Dữ liệu trong MongoDB có một Schema linh động. Các Document trong cùng Collection không cần thiết phải có cùng tập hợp các trường hoặc cấu trúc, và các trường chung trong các Document của Collection có thể giữ các kiểu dữ liệu khác nhau. Một số chú ý trong khi thiết kế Schema trong MongoDB ...

Hoàng Hải Đăng viết 11:19 ngày 14/08/2018

Truyền tải media trong VOIP - Xử lý và tối ưu hoá dữ liệu

Trong ứng dụng VOIP, âm thành và hình ảnh được truyền từ máy này sang máy khác theo thời gian thực và phải qua nhiều giai đoạn: Biến đổi tín hiệu số thu được thiết bị ngoại vi thành dữ liệu máy. Mã hoá và nén dữ liệu. Chia dữ liệu thành các gói nhỏ và đẩy lên internet. Sắp xếp dữ liệu ...

Tạ Quốc Bảo viết 17:28 ngày 12/08/2018
0