Skip to content

实体模板的成员

和Java类似,在MCFPP中,实体模板的成员包括属性和方法。属性是实体模板的数据成员,用来存储对象的数据;方法是实体模板的函数成员,用来操作对象的数据。实体模板的成员可以通过.操作符来访问。

属性

属性是实体模板的数据成员,用来存储对象的数据。属性的定义语法如下:

mcfpp
class A{
    int a;
    int b = 5;
}

上述代码定义了一个实体模板A,它有两个属性aba是一个整数类型的属性,没有初始化;b是一个整数类型的属性,初始化为5

方法

方法是实体模板的函数成员,用来操作对象的数据。方法的定义语法如下:

mcfpp
class A{
    void test(){
        print("Hello, World!");
    }
}

在方法中使用this关键字可以访问对象的属性。例如:

mcfpp
class A{
    int a;
    void setA(int a){
        this.a = a;
    }
}

访问控制

MCFPP中,实体模板的成员可以使用publicprotectedprivate关键字来控制访问权限。默认情况下,实体模板的成员是private的。

  • public:公有的,可以被外部访问。
  • protected:受保护的,可以被子实体模板访问。
  • private:私有的,只能在实体模板的内部访问。
mcfpp
class A{
    public int a;
    protected int b;
    private int c;
}

class B: A{
    void test(){
        a = 1;  #合法
        b = 2;  #合法
        c = 3;  #编译错误
    }
}

func test(){
    A obj = A();
    obj.a = 1;  #合法
    obj.b = 2;  #编译错误
    obj.c = 3;  #编译错误
}