gpt4 book ai didi

c++ - 私有(private)成员的作用是什么?

转载 作者:太空狗 更新时间:2023-10-29 23:35:04 29 4
gpt4 key购买 nike

#include<iostream>
class student
{
private:
int roll_no;
int standard;
public:
void input();
void display();
};

我问我的老师关于将一些类(class)成员设为私有(private)和将一些成员设为公共(public)的意义。他说,出于安全原因,数据成员通常是私有(private)的。他说没有对象可以访问类的私有(private)事物,这就是为什么它们是安全的。

我的问题是:当我们开发软件时,我们将向用户分发可执行文件。用户将无法编辑代码。我们的老师在谈论什么类型的安全性?当我创建了整个代码后,其他人如何编辑它?安全性需要考虑什么?

最佳答案

不,您的老师说的封装是为了安全是不正确的。封装实际上还有其他一些原因:

  1. 创建更好的代码可维护性。当所有的属性都是私有(private)和封装的时候,代码的编写者很容易通过更改方法来维护程序。
  2. 拥有受控的环境。封装允许用户以受控的方式通过对象使用给定的对象。如果不存在封装,客户端代码可以以任何他们想要的方式使用您的类的成员,而成员函数将此限制为特定行为。
  3. 隐藏复杂性:隐藏与用户无关的复杂性。有时,某些属性和方法仅供内部使用,用户不必了解这些。这使得用户可以轻松使用该对象。

一个说明如果没有封装会发生什么的例子:

假设您有一个名为 Human 的类,其中有一个名为 age 的公开成员。现在,如果有人想修改它,比如说,基于输入,那么他们必须每次检查输入是否为负数或不是很大,除非他们为它。现在,如果有一个成员函数而不是提供对年龄的访问,那么它就不再是客户端代码的问题了,因为该字段的 setter 会处理它,因为类的责任是确保它的字段有效。

关于c++ - 私有(private)成员的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48581808/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com