个人对面向对象的理解总结

社会主义 2016-04-20

c# OC,

之前伟哥问过我属性和变量的区别,今天在群里也遇到了个问这类的问题的,所以写下这博文纪录下我个人对继承、封装等这些的理解。

1.面向对象的3大特征:继承、封装、多态

1、继承

继承都熟悉 ,子类继承父类. 和生活中的继承类似。父类的东西有些可以继承(public、protect)有些是不可以继承(private)的.

这就有了public protect private类型的属性方法继承时的访问权限问题,同时也是封装的体现,包裹起来。又犹豫c# 、OC、java这些不支持多继承,所以就有了接口(oc协议)来实现多继承。

2.封装

封装就是把东西包起来,让外面看不到。想要知道内部的东西那就要通过一定的方法才能,不能随随便便的让别人看到。那怎么让看到内部的东西的?这就有了属性。属性将变量封装起来,通过get、set方法来访问变量。

3.多态

多态有运行时多态和编译时多态。

编译时多态主要通过重载来体现。重载有函数重载和运算符的重载。

运行时多态是通过重写、覆盖、继承、接口、抽象、虚方法体现等

 

这些对面向对象语言基本都应用,可能在一些语言中的叫法不一样,思想是一样的。比如oc中的协议, 由于OC中没有抽象类(含有一个抽象方法的类叫做抽象类),所以OC中的协议中的方法可以是可实现和必需实现。语法是基础,思想是灵魂。

登录 后评论
下一篇
我是小助手
31338人浏览
2019-07-31
相关推荐
架构设计师能力模型
655人浏览
2017-03-28 03:13:00
架构设计师能力模型
1160人浏览
2017-04-03 13:04:00
个人对于架构设计的理解
418人浏览
2017-01-12 16:31:00
架构设计师能力模型
1289人浏览
2017-11-15 18:39:00
[程序设计语言]-00:目录
260人浏览
2014-07-13 09:04:00
0
0
0
1487