怎样理解面向对象
来源:互联网 发布:简单平面图制作软件 编辑:程序博客网 时间:2024/06/03 20:27
一般,面向过程写的代码,应该会比较详细的分单元文件的对吧?如果您的习惯也是如此的话,那么可以按照一个单元文件的方向思考。比如,把一个具体化的、相似的功能,写在一个单元文件中。然后从这个单元文件中提取成一个类结构,用到的全局变量是类的成员,用到的函数是类的方法。这样可以简单的组合成一个类。然后去掉这个单元文件,将类的整体放入一个更大的单元。测试代码从另外一个地方写,采用直接创建类对象的方式测试。如此一来,您可以写出第一个类对象了。不过,这样的类对象还不包含任何类的优势,主要的原因是,您目前只是把面向单元的过程代码整理在一个类框架下面了,并没有使用到任何多态、继承这两个更重要的要素(目前把单元文件变成类的做法,就是封装)。这个时候您可以仔细思考目前这个类的架构。比如,假设您从一个处理文件的单元文件中提取出了一个CFileStream类,那么此刻您可以往更高的抽象层次思考,首先文件流主要操作的是文件数据,读取数据到Buffer,从Buffer写入数据进去。那么这个读写实际上不仅仅对文件有用,可以对内存,对网络都有用。所以从这里,您应该可以提取出读写函数的抽象行为,于是往CFileStream上提取一个父类,只负责读写的函数声明,于是抽象的CStream就出来了。从这个父类开始,可以向下继承CMemoryStream,甚至CSocketStream等。这样慢慢前进,您就能体会到面向对象的优势了。
0 0
- 怎样理解面向对象
- JAVA怎样理解面向对象
- 怎样理解面向对象的思想
- 怎样理解JAVA中面向对象?
- 理解面向对象
- 理解面向对象
- 理解“面向对象”
- 面向对象理解
- 面向对象进一步理解
- 面向对象基本理解
- 理解“面向对象”
- 理解面向对象
- 理解面向对象2
- 面向对象的理解
- 理解面向对象
- 面向对象的理解
- 面向对象的理解
- 面向对象理解
- EBS提供的所有Key Flexfields(KFF)
- 很喜欢的一篇老俞的演讲
- ubuntu建立共享文件夹
- [原创+转载]在本地没有安装mysql数据库的情况下用c++代码实现连接远程mysql数据库
- Tomcat启动时项目重复加载,导致资源初始化两次的问题
- 怎样理解面向对象
- Tomcat设置虚拟目录
- java正则表达式详解
- git revert和git reset的区别
- Hibernate3注解开发(ManyToMany)
- Etcd学习(二)集群搭建Clustering
- Android的View 简单理解和实例
- POJ3270 cow sorting
- 菜鸟新入行求多关注!!!!