黑马程序员——java中的面向对象简介
2015-04-14 22:42
253 查看
面向对象(Object Oriented,OO)简介:
定义:面向对象(Object Oriented,OO)是软件开过过程中使用一种思维方式 。
面向过程:强调功能行为,关注完成的过程
面向对象:将功能封装进对象,强调具备了功能的对象,不关注过程
面向对象与面向过程都是一种思想
面向对象是基于面向过程的
特点:
是一种更符合人们思考习惯的思想。
可以将复杂的事情简单化。
将程序由执行者转换成了指挥者。
面向对象完成需求:
明确开发功能需求。
查找具有该功能的类。
如果不存在满足功能的类,则定义这样的类。
创建该类对象,使用对象完成功能。
面向对象三大特征:
封装(encapsulation)
继承(inheritance)
多态(polymorphism)
封装(encapsulation)简介、代码实现及内存解析:
定义:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
优点:
将变化隔离
便于使用
提高重用性
提高安全性
原则:
将不需要对外提供的内容都隐藏起来。
把属性都隐藏,提供公共方法对其访问。
静态(static)关键字内存解析:
继承(inheritance)简介、代码实现及内存解析:
定义:
多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。
这多个类称为子类,单独这个类称为父类或者超类。
子类可以直接访问父类中非私有的成员变量与成员方法。
格式:
通过 extends 关键字让类与类之间产生继承关系
class SubDemo extends Demo{}
优点:
继承的出现提高了代码的复用性。
继承的出现让类与类之间产生了关系,是多态的前提之一。
弊端:
使类与类之间产生了更强的耦合性
特点:
java只支持单继承不支持多继承。
java支持多层继承。
任何类都直接或者间接继承自Object类。
注意事项:
不要为了某个功能而去继承,需要满足”is a”的关系。
引用类型变量被final修饰,不能再指向其他对象地址:
多态(polymorphism)简介、代码实现及内存解析:
定义:
某一种事物的多种形态。
前提:
需要存在继承或者实现关系。
要有方法覆盖操作,否则没有意义。
父类或者接口的引用指向自己的子类对象。
优点:
开发当中要符合开闭原则:对修改关闭,对扩展开放。
多态的存在提高了程序的扩展性和后期可维护性。
定义:面向对象(Object Oriented,OO)是软件开过过程中使用一种思维方式 。
面向过程:强调功能行为,关注完成的过程
面向对象:将功能封装进对象,强调具备了功能的对象,不关注过程
面向对象与面向过程都是一种思想
面向对象是基于面向过程的
特点:
是一种更符合人们思考习惯的思想。
可以将复杂的事情简单化。
将程序由执行者转换成了指挥者。
面向对象完成需求:
明确开发功能需求。
查找具有该功能的类。
如果不存在满足功能的类,则定义这样的类。
创建该类对象,使用对象完成功能。
面向对象三大特征:
封装(encapsulation)
继承(inheritance)
多态(polymorphism)
封装(encapsulation)简介、代码实现及内存解析:
定义:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
优点:
将变化隔离
便于使用
提高重用性
提高安全性
原则:
将不需要对外提供的内容都隐藏起来。
把属性都隐藏,提供公共方法对其访问。
静态(static)关键字内存解析:
继承(inheritance)简介、代码实现及内存解析:
定义:
多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。
这多个类称为子类,单独这个类称为父类或者超类。
子类可以直接访问父类中非私有的成员变量与成员方法。
格式:
通过 extends 关键字让类与类之间产生继承关系
class SubDemo extends Demo{}
优点:
继承的出现提高了代码的复用性。
继承的出现让类与类之间产生了关系,是多态的前提之一。
弊端:
使类与类之间产生了更强的耦合性
特点:
java只支持单继承不支持多继承。
java支持多层继承。
任何类都直接或者间接继承自Object类。
注意事项:
不要为了某个功能而去继承,需要满足”is a”的关系。
引用类型变量被final修饰,不能再指向其他对象地址:
多态(polymorphism)简介、代码实现及内存解析:
定义:
某一种事物的多种形态。
前提:
需要存在继承或者实现关系。
要有方法覆盖操作,否则没有意义。
父类或者接口的引用指向自己的子类对象。
优点:
开发当中要符合开闭原则:对修改关闭,对扩展开放。
多态的存在提高了程序的扩展性和后期可维护性。
相关文章推荐
- 黑马程序员--Java入门之面向对象的理解
- 黑马程序员 Java面向对象——封装
- 黑马程序员_java_面向对象_多态
- 黑马程序员__java(5)__面向对象
- 黑马程序员——Java要点笔记——面向对象(三)
- 黑马程序员--Java面向对象——多线程——下
- 黑马程序员--Java面向对象
- 黑马程序员 java 基础 毕向东 面向对象 异常 以及 package 的使用
- 黑马程序员——JAVA之面向对象(一)
- 黑马程序员——Java基础语法 之面向对象(概念,特征,this,static关键字,代码块)
- 黑马程序员--Java面向对象——File类
- 黑马程序员—java面向对象总结(2)—面向对象封装特性
- 黑马程序员 Java基础<三>--->面向对象
- 黑马程序员 Java(一)>面向对象(1)<
- 黑马程序员——Java基础---面向对象(一)
- 黑马程序员——Java基础---面向对象
- 黑马程序员-----java基础 面向对象
- 黑马程序员--Java基础学习(面向对象)第七天
- 黑马程序员_java基础_面向对象_02
- 黑马程序员--Java基础--04面向对象(2)