21xrx.com
2024-11-22 03:15:34 Friday
登录
文章检索 我的文章 写文章
C++的封装方法
2023-07-04 21:31:11 深夜i     --     --
C++ 封装 私有成员 公有成员 访问权限

C++是一种强大的编程语言,它具有很强的封装性,因此在编写代码时,合理地使用封装方法可以使代码更加简洁、易于维护和扩展。

封装的基本思想是将类的属性和行为组合在一起,并将其与外部世界隔离开来。这样,外部世界就不能直接访问类的私有成员或方法,只能通过类提供的公共接口进行访问和操作。这种方式可以确保类的内部状态的完整性和不变性,而对外部世界的影响则可以通过公共接口进行限制。

有几种方法可以实现封装,这里介绍三种常用的方法:

1. 成员变量私有化

将类的成员变量定义为私有变量,外部世界无法直接访问。如果外部需要对成员变量进行操作,必须通过类提供的公共方法进行。例如:


class Person {

 private:

  string name;

  int age;

 public:

  void setName(string n)

    name = n;

  

  string getName()

    return name;

  

  void setAge(int a)

    age = a;

  

  int getAge()

    return age;

  

};

int main() {

  Person p;

  p.setName("Tom");

  p.setAge(18);

  cout << p.getName() << " " << p.getAge() << endl;

  return 0;

}

2. 成员方法私有化

将类的成员方法定义为私有方法,外部世界无法直接访问。如果外部需要调用这些方法,必须通过类提供的公共方法进行。例如:


class Person {

 private:

  void privateMethod()

    // do something...

  

 public:

  void publicMethod() {

    // do something...

    privateMethod();

    // do something...

  }

};

int main() {

  Person p;

  p.publicMethod();

  return 0;

}

3. 友元类

有时候,我们需要让某个类可以访问另一个类的私有成员或方法,这时可以使用友元类。友元类是指一个类可以获取另一个类的私有成员或方法的权限。例如:


class A

 private:

  int x;

 public:

  friend class B;

;

class B {

 public:

  void func()

    A a;

    a.x = 10;

  

};

int main() {

  B b;

  b.func();

  return 0;

}

在编写代码时,封装方法可以帮助我们隐藏一些实现细节,简化代码逻辑,降低代码复杂度。同时,它还可以提高代码的安全性和可维护性,减少程序出错的可能性。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复