OOP(Object Oriented Programming)面向对象编程三大特征含义、体现、比喻及作用简述
2017-06-23 09:38
906 查看
一、说明
二、三大特征(理解、体现、比喻)
1、封装(Encapsulation)
2、继承(Inheritance)
3、多态(Polymorphism)
Ps:
多态实现的关键
三、三大特征(作用)
对象(Object):万物皆对象,对象是一种实体,包含一定的数据结构和状态。 操作(Operation):一种作用于对象的行为,如访问和处理对象的状态。 |
1、封装(Encapsulation)
(1)理解:定义对象和操作,只提供抽象的接口,并隐藏它们的具体实现。 (2)Java中体现:spring mvc设计模型中的model(模型层),使用到javabean实体类将属性和方法封装起来,通过get/set方法调用。 (3)个人比喻总结:笔记本电脑,我们能看到开机键、键盘、显示屏,却看不到他们的内部结构。这就是封装的体现,我们只需要会按开机键,敲键盘,看屏幕就行了,具体内部组装结构被隐藏起来了,因为也没有必要知道它内部结构是什么。 |
(1)理解:通过现有数据类型的性质,创建新的数据类型,而不影响原有数据类型。 (2)Java中体现:在原有类的基础上,新建一个类。原有类称为父类,新建的类叫子类。子类可以重写父类的方法,也可以拓展自己的方法。 (3)个人比喻总结:人和学生,人是父类,学生是子类,学生拥有着人的特征,同时还多了要上课、做作业等行为。 |
(1)理解:多个不同对象对同一消息作出响应。 (2)Java中体现: A.接口实现(A implements B)(不同类的相同行为); B.子类继承父类重写父类方法(B extends A); C.同一个类中方法重载。 (3)个人比喻总结:下课铃声响了,小明回家了,小李、小王......也回家了 |
多态实现的关键
(1)父类引用指向子类对象,通俗的说就是父类的对象是由子类new出来的。(Person p = new Student();) (2)父类引用只能调用父类中定义的方法和变量。 (3)如果子类重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类的方法。(动态连接/动态调用) (4)变量不能被重写,重写只针对方法。 |
封装:可以隐藏实现细节,使得代码模块化; 继承:可以扩展已存在的代码模块(类),它们的目的都是为了——代码重用; 多态:则是为了实现另一个目的——接口重用。 |
相关文章推荐
- Aspect Oriented Programming(AOP)面向切面编程+OOD = Object Oriented Design OOP = Object Oriented ProgrammingOOP(面向对象编程)
- 面向对象编程(OOP)Object Oriented Programming
- OOP(Object Oriented Programming 面向对象程序设计)
- Python Object Oriented Programming (面向对象编程) Generator
- 面向对象编程(Object Oriented Programming)概念及延伸(三)
- Chapter 1 Object Oriented Programming (OOP)
- Object Oriented Programming(OOP)
- 面向对象编程(Object Oriented Programming)概念总结及延伸(一)
- OOP =Object Oriented Programming,=面向对象的程序设计
- Object Oriented Programming,OOP
- The S.O.L.I.D. Object Oriented Programming(OOP) Principles
- The S.O.L.I.D. Object Oriented Programming(OOP) Principles
- OOP(Object Oriented Programming)面向对象程序设计
- 面向对象编程(Object Oriented Programming)概念总结及延伸(一)
- JavaScript and Object Oriented Programming (OOP)
- JavaScript and Object Oriented Programming (OOP)
- OOP:Object Oriented Programming
- 面向对象程序设计(OOP-Object Oriented Programming)
- 面向对象编程(Object Oriented Programming)概念及延伸(二)
- Object-Oriented Programming Concepts——面向对象编程的一些概念