【OC学习-3】什么是面向对象?和面向过程对比才明白
来源:互联网 发布:厦门关键词优化排名 编辑:程序博客网 时间:2024/05/21 10:24
一提到“面向对象”,最多听到的是“一切皆对象”,“对象是属性和行为的结合”等等。但是你还是不懂。
其实和面向过程相比较或许更清楚明白。
以下是一个案例,其中要计算面积,应该是乘法*才是,但是下面使用了加法+,这暴露的问题就是,虽然我用struct定义了一个结构,即长方形的宽和高,但是我没有定义它们之间必须用乘法,而是在后面调用这两个数据的时候才使用算法,很不幸的是我们有可能把算法写错。这就是面向过程。
那么面向对象呢?就是不仅把数据定义出来,而且还定义了这两个数据之间只能相乘,那么我们再调用时就不会出错。这很类似于其他语言里面的函数,我们封装好一个计算面积的函数,调用时候只要传递参数(如宽和高)就行,而不用再写算法。
而这里面的数据(宽和高)就是对象的属性,相乘就是对象的行为。把这两者放在一个里面就是封装。
#import <Foundation/Foundation.h>struct rectangle{ int width; int height;}int main(int argc,const char *argv[]){ @autoreleasepool{ int area; struct rectangle rec={10,12}; area=rec.width+rec.height; //计算错误 NSLog(@"面积是%d",area); } return 0;}
1 0
- 【OC学习-3】什么是面向对象?和面向过程对比才明白
- 什么是面向对象?面向对象和面向过程的区别?
- 面向过程(C语言)和面向对象(OC语言)
- 什么是面向对象 什么是面向过程 面向对象和面向过程的区别
- 什么是面向对象 什么是面向过程 面向对象和面向过程的区别
- 什么是面向对象,和面向过程的区别是什么
- 什么是面向对象,和面向过程的区别是什么
- 面向对象学习笔记--面向对象和面向过程
- 面向过程和面向对象
- 面向对象和面向过程
- 面向过程和面向对象
- 面向过程和面向对象
- 面向对象和面向过程
- 面向过程和面向对象
- 面向过程和面向对象
- 面向对象和面向过程
- 面向对象和面向过程
- 面向对象和面向过程
- QML类型说明-Behavior
- QML类型说明-Binding
- QML类型说明-Blend
- QML类型说明-BluetoothDiscoveryMo…
- 流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
- 【OC学习-3】什么是面向对象?和面向过程对比才明白
- Android的事件传递机制[转]
- OpenCV基础篇之图片叠加
- Netty源码解读之线程
- iomanip的介绍
- 那些年我们一起学习的线性布局 之 线性布局里很有趣的那些事
- 安卓按比例布局,layout_weight用法
- 循环的角度求均值
- OpenCV基础篇之使用CMake管理工程