一些概念
2015-08-16 22:40
183 查看
面向对象的三大特征:封装、继承、多态
封装:把对象的状态信息隐藏在对象的内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问
(当把变量定义在实现部分(类的隐藏变量)和只是在实现部分定义了方法而没有在接口部分声明的时候,该变量和方法只能在本类中使用!)
继承:子类继承父类所有的实例变量(单独定义在实现部分,而没有在接口部分声明的除外)和方法,而不需要再次编写相同的代码
OC中是单继承,编译器从上往下执行,所以子类在定义的前面要有父类的声明,OC中不允许子类中拥有和父类相同的实例变量名,但是子类中的方法名可以和父类中的相同(方法重写),调用该方法名时,编译器优先在本类中查找,没有的话,再一层层的向上。
多态:
条件有三:1,有继承
2,有方法重写
3,对象编译时候和运行时的类型不同(或者说把在子类中开辟的内存空间赋值给父类的指针变量)
面向过程编程:最重要的是函数(方法)
面向对象编程:最重要的是类
类:一类事物的高度抽象,类中定义了这一类事物的静态属性和动态属性(方法)
对象(实例):对象是类的实例
站在不同角度看,可以说是:类派生出了对象,对象扩展了类!
封装:把对象的状态信息隐藏在对象的内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问
(当把变量定义在实现部分(类的隐藏变量)和只是在实现部分定义了方法而没有在接口部分声明的时候,该变量和方法只能在本类中使用!)
继承:子类继承父类所有的实例变量(单独定义在实现部分,而没有在接口部分声明的除外)和方法,而不需要再次编写相同的代码
OC中是单继承,编译器从上往下执行,所以子类在定义的前面要有父类的声明,OC中不允许子类中拥有和父类相同的实例变量名,但是子类中的方法名可以和父类中的相同(方法重写),调用该方法名时,编译器优先在本类中查找,没有的话,再一层层的向上。
多态:
条件有三:1,有继承
2,有方法重写
3,对象编译时候和运行时的类型不同(或者说把在子类中开辟的内存空间赋值给父类的指针变量)
面向过程编程:最重要的是函数(方法)
面向对象编程:最重要的是类
类:一类事物的高度抽象,类中定义了这一类事物的静态属性和动态属性(方法)
对象(实例):对象是类的实例
站在不同角度看,可以说是:类派生出了对象,对象扩展了类!
相关文章推荐
- Lua编程示例(二):面向对象、metatable对表进行扩展
- C#中面向对象编程机制之多态学习笔记
- 浅谈Lua的面向对象特性
- Lua面向对象之类和继承浅析
- JavaScript面向对象的两种书写方法以及差别
- 浅谈c# 面向对象之类与对象
- C#面向对象特征的具体实现及作用详解
- C# 面向对象的基本原则
- 浅谈对c# 面向对象的理解
- Ruby面向对象编程详解
- php学习 面向对象 课件第1/2页
- PHP程序61条面向对象分析设计的经验小结
- 收集学习asp.net比较完整的面向对象开发流程
- javascript 面向对象编程 万物皆对象
- 不错的JavaScript面向对象的简单入门介绍第1/2页
- [推荐]javascript 面向对象技术基础教程
- javascript 面向对象的JavaScript类
- JavaScript中的面向对象介绍
- javascript实现面向对象类的功能书写技巧
- Javascript 面向对象 继承