4．通过类与对象而实现的面向对象程序设计有哪三大特征？优点是什么？
答：三大特征是封装性、继承性和多态性。封装机制将数据和代码捆绑到一起，避免了外界的干扰和不确定性。
继承可以大大提高程序的复用性，避免冗余代码，派生类可以继承基类的属性及操作，并可以自行添加其他属性及操作。
多态性允许每个对象以适合自身的方式去响应共同的消息，它增强了软件的灵活性和重用性。比如说加法操作，如果操作的数据是数，它对两个数求和。如果操作的数据是字符串，则它将连接两个字符串。