---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
1、面向对象是解决问题的思考方式,基于面向过程演化来的。
(1)将复杂的事情简单化。
(2)面向对象将以前的过程中的执行者,变成了指挥者。
(3)面向对象这种思想是符合现在人们思考习惯的一种思想。
2、面向对象的特点
2、面向对象的特点
A
:封装(Encapsulation)
封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
封装原则:将不需要对外提供的内容都隐藏起来。
封装的好处:将变化隔离;便于使用;提高重用性;安全性。
B
:继承
(extends)
继承是指在定义一个新类的时候,可以在已有类的基础上,加上新的功能,这种技术成为继承
继承是指在定义一个新类的时候,可以在已有类的基础上,加上新的功能,这种技术成为继承
继承的体系结构:就是对要描述的事物进行不断的向上抽取,就出现了体系结构。
继承的好处:
(1)继承的出现,提高了代码的复用性 ;(2)继承的出现,让类与类之间产生了关系,extends来表示。
继承的特点:(1)java只支持单继承,其实确切的说是java对多继承进行了优化,避免了安全问题;(2)java支持多重(层)继承。
《注意》:(1)子类可以直接访问父类中的非私有的属性和行为。(2)不要仅为了获取其他类中部分功能而去继承。(3)类与类之间要有所属(" is a " )关系,xx1是xx2的一种。
C、多态(可以理解为事物存在的多种形态)。
重载、重写就是多态性的体现。多态提高类的可扩展性和维护性。
(1)多态的体现:父类的引用指向了子类对象,父类的引用也可以接收子集的子类对象。
(2)多态的前提:必须是类与类之间有关系,要么继承要么实现,通常还有一个前提(存在覆盖)。
(3)多态的好处:多态的出现大大提高了程序的扩展性。
(4)多态的应用。延伸出了反射。
类型提升→数据类型的提升(向上转型)
强制将父类的引用转成了子类类型(可以调用子类的特有方法 )向下转。
《注意》:千万不要出现把父类对象的对象转换成了子类类型。我们能转的是父类引用指向可自己的子类对象,该引用可以被提升,也可以被强制转换。多态自始至终都是子类对象在做着变化。
继承的特点:(1)java只支持单继承,其实确切的说是java对多继承进行了优化,避免了安全问题;(2)java支持多重(层)继承。
《注意》:(1)子类可以直接访问父类中的非私有的属性和行为。(2)不要仅为了获取其他类中部分功能而去继承。(3)类与类之间要有所属(" is a " )关系,xx1是xx2的一种。
C、多态(可以理解为事物存在的多种形态)。
重载、重写就是多态性的体现。多态提高类的可扩展性和维护性。
(1)多态的体现:父类的引用指向了子类对象,父类的引用也可以接收子集的子类对象。
(2)多态的前提:必须是类与类之间有关系,要么继承要么实现,通常还有一个前提(存在覆盖)。
(3)多态的好处:多态的出现大大提高了程序的扩展性。
(4)多态的应用。延伸出了反射。
类型提升→数据类型的提升(向上转型)
强制将父类的引用转成了子类类型(可以调用子类的特有方法 )向下转。
《注意》:千万不要出现把父类对象的对象转换成了子类类型。我们能转的是父类引用指向可自己的子类对象,该引用可以被提升,也可以被强制转换。多态自始至终都是子类对象在做着变化。
3、匿名内部类
(1)定义:将一个类定义在另一个类的里面,对于里面那个类就成为内部类(内置类或者嵌套类)
(2)内部类的访问规则
内部类可以直接访问外部类中的成员,包括私有(之所以能后直接访问外部类中的成员,是因为内部类中的持有了一个外部类的 引用, 格式:外部类名.this)
外部类要访问内部类,必须建立内部类对象(互访)
直接访问内部类中的成员: 外部类.内部类 名称 = new 外部类.内部类
《注意》 内部类可以被私有修饰。
4、抽象类
构造方法:用于给类实例化
成员变量:既可以是变量,也可以是常量
成员方法:既可以是抽象的,也可以是非抽象的
5、
接口:
成员变量:只能是常量
public static final
成员方法:只能是抽象方
默认修饰 public abstract
默认修饰 public abstract
----------------------
ASP.Net+Android+IOS开发、
.Net培训、期待与您交流! ----------------------详细请查看:
http://edu.csdn.net