您的位置:首页 > 移动开发 > Objective-C

OOP(Object Oriented Programming)面向对象编程三大特征含义、体现、比喻及作用简述

2017-06-23 09:38 906 查看
一、说明
对象(Object):万物皆对象,对象是一种实体,包含一定的数据结构和状态。
操作(Operation):一种作用于对象的行为,如访问和处理对象的状态。
二、三大特征(理解、体现、比喻)
1、封装(Encapsulation)
(1)理解:定义对象和操作,只提供抽象的接口,并隐藏它们的具体实现。
(2)Java中体现:spring mvc设计模型中的model(模型层),使用到javabean实体类将属性和方法封装起来,通过get/set方法调用。
(3)个人比喻总结:笔记本电脑,我们能看到开机键、键盘、显示屏,却看不到他们的内部结构。这就是封装的体现,我们只需要会按开机键,敲键盘,看屏幕就行了,具体内部组装结构被隐藏起来了,因为也没有必要知道它内部结构是什么。
2、继承(Inheritance)
(1)理解:通过现有数据类型的性质,创建新的数据类型,而不影响原有数据类型。
(2)Java中体现:在原有类的基础上,新建一个类。原有类称为父类,新建的类叫子类。子类可以重写父类的方法,也可以拓展自己的方法。
(3)个人比喻总结:人和学生,人是父类,学生是子类,学生拥有着人的特征,同时还多了要上课、做作业等行为。
3、多态(Polymorphism)
(1)理解:多个不同对象对同一消息作出响应。  
(2)Java中体现:
A.接口实现(A implements B)(不同类的相同行为);
B.子类继承父类重写父类方法(B extends A);
C.同一个类中方法重载。
(3)个人比喻总结:下课铃声响了,小明回家了,小李、小王......也回家了
Ps:
多态实现的关键
(1)父类引用指向子类对象,通俗的说就是父类的对象是由子类new出来的。(Person p  = new Student();)
(2)父类引用只能调用父类中定义的方法和变量。
(3)如果子类重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类的方法。(动态连接/动态调用)
(4)变量不能被重写,重写只针对方法。
三、三大特征(作用)
封装:可以隐藏实现细节,使得代码模块化;
继承:可以扩展已存在的代码模块(类),它们的目的都是为了——代码重用;
多态:则是为了实现另一个目的——接口重用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: