Chỉ định truy cập

Chỉ định truy cập (tiếng Anh: access modifier hay access specifiers) là từ khóa trong lập trình hướng đối tượng để thiết lập khả năng truy cập của lớp, phương thức, và các thành viên khác. Chỉ định truy cập là một phần cụ thể của cú pháp ngôn ngữ lập trình được dùng để tạo điều kiện để đóng gói các thành phần.[1]

Tên từ khóa[sửa | sửa mã nguồn]

C++ có 3 chỉ định là public, protected, và private. C# có các chỉ định public, protected ,internal, private, và protected internal. Javapublic, package, protected, và private.

Ví dụ trong C++[sửa | sửa mã nguồn]

#include <iostream>
using std::cout;
using std::endl;

struct B { // default access modifier inside struct is public
    void set_n(int v) { n = v; }
    void f()          { cout << "B::f" << endl; }
  protected:
    int m, n; // B::m, B::n are protected
  private:
    int x;
};
 
struct D: B {
    using B::m;               // D::m is public
    int get_n() { return n; } // B::n is accessible here, but not outside
//  int get_x() { return x; } // ERROR, B::x is inaccessible here
 private:
    using B::f;               // D::f is private
};
 
int main() {
    D d;

//  d.x = 2; // ERROR, private
//  d.n = 2; // ERROR, protected
    d.m = 2; // protected B::m is accessible as D::m

    d.set_n(2); // calls B::set_n(int)
    cout << d.get_n() << endl; // output: 2

//  d.f();   // ERROR, B::f is inaccessible as D::f

    B& b = d; // b references d and "views" it as being type B

//  b.x = 3; // ERROR, private
//  b.n = 3; // ERROR, protected
//  b.m = 3; // ERROR, B::m is protected

    b.set_n(3); // calls B::set_n(int)
//  cout << b.get_n(); // ERROR, 'struct B' has no member named 'get_n'

    b.f();   // calls B::f()
    return 0;
}

Tham khảo[sửa | sửa mã nguồn]

Ghi chú[sửa | sửa mã nguồn]

  1. ^ Mayo 2002, tr. 199.

Tham khảo[sửa | sửa mã nguồn]

  • Mayo, Joseph (2002), C Sharp Unleashed, Sams publishing, ISBN 9780672321221
Chúng tôi bán
Bài viết liên quan
The Lobster 2015 - Khi “Ế” chính là một cái tội
The Lobster 2015 - Khi “Ế” chính là một cái tội
The Lobster là một bộ phim viễn tưởng hài hước đen siêu thực năm 2015 do Yorgos Lanthimos đạo diễn, đồng biên kịch và đồng sản xuất
Giới thiệu AG Mega Armor Mel - Giant Gospel Cannon
Giới thiệu AG Mega Armor Mel - Giant Gospel Cannon
Nhìn chung Mel bộ kỹ năng phù hợp trong những trận PVP với đội hình Cleaver, khả năng tạo shield
[Tóm tắt] Light Novel Năm 2 Tập 1 - Classroom of the Elite
[Tóm tắt] Light Novel Năm 2 Tập 1 - Classroom of the Elite
Bức màn được hé lộ, năm thứ hai của series cực kỳ nổi tiếng này đã xuất hiện
Chú thuật hồi chiến 252: Quyết Chiến Tại Tử Địa Shinjuku
Chú thuật hồi chiến 252: Quyết Chiến Tại Tử Địa Shinjuku
Tiếp tục trận chiến với Nguyền Vương, tua ngược lại thời gian 1 chút thì lúc này Kusakabe và Ino đang đứng bên ngoài lãnh địa của Yuta