面向对象 —— 对类(class)的理解
来源:互联网 发布:保姆偷喝母乳 知乎 编辑:程序博客网 时间:2024/05/16 17:33
类是成员变量和成员函数的封装,封装的一个重要功能就是可见性(继承除外,当然继承是面向对象的另外一个重要特性),所谓可见性,类内可见,类外不可见。可见性保证了类型安全(type-safe)
对类进行实例化(调用类的构造函数),获取类的对象,单是从类和对象的分别的命名上,也能体会类与对象的区别,类一般是抽象名词(Host),对象则是具体名词(Customs)。
0. 成员变量的选择
一个对象类,当然不只有限的属性,如果要追究和细分下去,能找出无数个属性出来。显然当我们进行某些类的设计时,首先需要定义其成员变量。成员变量对应于对象类的属性。成员变量的选择和确定的关键,看的该变量是否与实际问题的解决密切相关,该变量是否是解决问题所涉及的变量。
比如一个车辆排队系统,汽车的属性,显然需要:
- 到达时间;
- 优先级;
- …
而与颜色、车重,等等属性无关。
1. 从泛化到特殊
公共基类(比如公共事件基类,Event):规范所有事件类的形式,在其中实现几个所有事件都需要的公共操作,有时也需要定义一个什么都不做的成员方法。
派生类:只需要根据实际情况,把具体类(事件类)定义为基类的派生类,在不同派生类里根据实际情况定义基类中什么也未作的成员方法。
2. 动词做类
可封装的都可做类(所谓封装,针对的是成员属性和成员方法,封装了的成员变量,成员变量类内可见,可获取其值,也可对它的值进行修改,然后将对成员变量的相关操作封装进
比如以事件类(Event)作抽象基类,派生出来的到达类(Arrive),离开类(Leave),含义更像是动词,而不是通常面向对象编程中的“人”、“动物”、“水果”等等具有鲜明的对象、可封装特性的类别。
0 0
- 面向对象 —— 对类(class)的理解
- 对“面向对象“的理解
- 对 面向对象 的理解
- 对java面向对象的的理解
- python3中对 面向对象 的一些理解(基础)
- 对js面向对象的初步理解
- 对javascript面向对象的理解
- 关于对JavaScript面向对象的理解
- 对Python面向对象的理解
- 谈谈对js面向对象的理解
- 我对JAVA面向对象的理解
- 什么是面向对象的javaScript(一)——理解面向对象
- 面向对象设计(一)——对象和类的理解
- 面向对象设计(一)——对象和类的理解
- 面向对象 类的理解
- OPP :面向对象编程,深入理解类class
- 对JavaScript面向对象的一些理解(一)对象的概念
- 对JavaScript面向对象的一些理解(二)函数和对象的关系
- ปอเช็ตติโน่ เสียดายโอกาสของทีมในเกมฟัดหงส์
- 将Gradle项目发布到maven仓库
- 接口测试问题总结
- csv 等文件转码
- java中super的用法
- 面向对象 —— 对类(class)的理解
- 百度API———基础地图(一)*
- Nginx源码分析—HTTP框架执行流程
- 解决ScrollView与ListView显示冲突问题
- Selenium+TestNG Web自动化测试环境搭建1_前言
- 做企业网站seo需要避免哪些误区
- DML、DDL、DCL区别
- Dom4j解析和生成XML文档
- VS2013常用快捷键