类和对象-封装-成员属性私有化

简介: 类和对象-封装-成员属性私有化
#include <iostream>
#include <string> 
using namespace std;
//成员属性私有化
//优点1:可以对成员进行读写权限控制 
//优点2:可以检测数据的有效性 
//代码演示: 
//定义一个人 类 
class person{
private ://成员属性私有化 
  string name;//姓名成员 
  string sex;//性别成员 
  int age;//年龄成员
public://但是需要提供一个对外的接口,对私有成员进行访问
     //姓名:可读可写
     //性别:只读 
     //年龄:只写 
  void setname(string Name)//写姓名(设置姓名) 
  {
    name=Name;  
  }
  string getname()//读姓名(获取姓名) 
  {
    return name;
  }
  string getsex()//读性别 (获取性别) 
  {
    sex="男";//先初始化一下,不然不便于获取 
    return sex;
  }
  void setage(int Age)//写年龄(设置年龄) 
  {
    if(Age<0||Age>150)//优点2:检测数据的有效性 
    {
      cout<<"年龄不合适"<<endl;  
      return ;
    } 
    age=Age; 
  }
}; 
int main(int argc, char** argv) {
  person p1;
  p1.setname("彭于晏");//对外接口:写姓名 
  cout<<p1.getname()<<endl; //对外接口:读姓名 
  cout<<p1.getsex()<<endl;//对外接口:读性别
  p1.setage(18);//对外接口:写年龄 
  return 0;
}
目录
相关文章
|
3天前
|
安全 Java
课时7:成员属性封装
我们先来了解一下属性封装。在Java中,成员由属性和方法构成,一般来说,方法是对外提供服务的,通常不会进行封装处理,而属性由于需要较高的安全性,往往要对其加以保护,也就是要用封装性来处理、保护属性。
|
10月前
|
存储 Serverless 数据安全/隐私保护
C++ 类的成员函数和数据成员的技术性探讨
C++ 类的成员函数和数据成员的技术性探讨
138 0
|
10月前
|
Java
嵌套类大揭秘:代码高效组织的必备技巧
嵌套类大揭秘:代码高效组织的必备技巧
53 1
|
存储 编译器 C++
【类和对象(中)】六大默认成员函数
前言 本文继类和对象上,开始讲述默认成员函数。 默认成员函数是:我们不具体写,编译器会自动生成的函数叫默认成员函数。 一、🌺构造函数(重点🌺) 构造函数是类的一个默认成员函数,它虽然叫构造函数,但它的作用并不是构造一个对象,而是初始化一个对象。 它与Init函数不同, 每次实例化一个新的对象都要调用 Init函数来完成对象的初始化,比较麻烦,而这个构造函数,可以解决这个问题。
|
10月前
|
C# 开发者 索引
C# 11.0中的静态抽象成员:接口中的新变革
【1月更文挑战第25天】C# 11.0引入了接口中的静态抽象成员,这一新特性为接口设计带来了更大的灵活性。静态抽象成员允许在接口中定义静态方法和属性,并要求实现类提供具体的实现。本文将详细探讨C# 11.0中静态抽象成员的工作原理、优势及其对现有编程模式的影响,旨在帮助读者更好地理解和应用这一新特性。
|
10月前
|
C# 开发者 索引
C# 11.0中的所需成员:强化接口与抽象类的约束
【1月更文挑战第24天】C# 11.0引入了所需成员(Required members)的概念,这一新特性允许在接口和抽象类中定义必须被实现的成员,包括方法、属性、索引器和事件。通过所需成员,C# 强化了对接口实现和抽象类继承的约束,提高了代码的一致性和可维护性。本文将详细探讨C# 11.0中所需成员的工作原理、使用场景及其对现有编程模式的影响。
类的内部成员之五:内部类
类的内部成员之五:内部类
56 1
|
编译器 C语言 Swift
05-📝C++核心语法|面向对象3【 继承和派生、多态、静态成员、const成员、引用类型成员、VS的内存窗口】
复习`C++核心语法`,且适当进行汇编探索底层实现原理,进一步夯实基础,为以后的`底层开发`、`音视频开发`、`跨平台开发`、`算法`等方向的进一步学习埋下伏笔。
05-📝C++核心语法|面向对象3【 继承和派生、多态、静态成员、const成员、引用类型成员、VS的内存窗口】
|
设计模式 存储 Java
JAVA设计模式11:组合模式,以统一的方式处理单个对象和组合对象
JAVA设计模式11:组合模式,以统一的方式处理单个对象和组合对象
194 0
18-类和对象-封装-成员属性私有化
18-类和对象-封装-成员属性私有化