封装与继承概述
1.封装和继承是面向对象程序设计的两个主要特征
2.封装:隐藏对象内部状态
继承:允许子类继承父类的特性
继承的定义和语法
1.继承允许子类继承父类的成员变量和成员函数
2.子类可以访问父类的数据成员和函数
3.语法层面,子类通过冒号和父类名指定使用父类的构造函数
设计层面的问题
1.直接访问私有成员可能导致合法但不合理的情况
2.设计层面需隐藏不应直接访问的成员,提供访问接口
封装和权限控制
1.封装隐藏不希望直接访问的成员
2.使用private将成员设置为私有
3.提供public接口供外部访问
构造函数和继承
1.子类构造函数默认调用父类的无参构造函数
2.如果父类提供了无参构造函数,子类构造函数必须调用父类的无参构造函数
3.如果父类只有有参构造,子类必须在初始化列表显式调用父类构造
通过构造函数初始化父类成员
1.在子类构造函数中,通过冒号和父类名,可以初始化父类的私有成员
2.确保父类构造函数与子类构造函数参数匹配