您的位置:首页 > 运维架构

OOP概念回顾(一)

2016-07-11 20:07 357 查看
1.      OOP中的基本概念

面向对象的三大特性:

(1)      封装:java是以类为基础的,所有的属性和方法都封装在类中,不像C++在类外还可以定义函数。

(2)      多态:表面来看是多种状态的意思。

(3)      继承:继承可以使子类具有父类的各种属性和方法,而不用再次编写相同的代码。

2.      类和对象

对象是对问题领域中事件的抽象。对象具有以下特征:

(1)      万物皆对象。

(2)      每个对象都是唯一的。(hachcode)

(3)      对象具有属性和行为。

(4)      对象具有状态。(某个瞬间对象的各个属性取值)

(5)      每个对象都是某个类的实例。

类是一组具有相同属性和行为对象的模板。面向对象编程的主要任务就是定义对象模型中的各个类。

(1)      类是一种类型:即一种引用类型。

(2)      类是元数据:描述数据的数据,数据在面向对象领域里以对象的形式存在,类是对象共有属性和方法的抽象描述。

Java程序是各种对象相互作用,而不是类相互作用。

3.      封装

当属性前面用private修饰时,表示该属性不能被其他类访问和修饰,它只能被本类访问和修改,范围限制在本类内。

封装有两个方面:一方面是数据隐藏,另一方面就是让实现细节不可见,即实现的细节隐藏。

4.      方法重载

方法名相同,参数不一致,成为重载。

重载必须满足以下条件:

(1)      方法名必须相同。

(2)      参数(参数类型、个数和顺序)不同。

(3)      返回类型可以不同。

5.      创建和初始化对象

构建好类只是创建了构建对象的模板。可以通过new操作符来快速地构建出对象。

New有以下作用:

(1)      作为对象分配内存空间,将对象的实例变量自动初始化为其变量类型的默认值。

(2)      如实例变量显示初始化,则将初始化值赋给实例变量。

(3)      调用构造方法。

(4)      返回对象的引用。

6.      构造方法

与类名同名并且没有返回值得方法。方法有什么作用,构造方法就有什么作用,只是构造方法的作用在创建对象的时候生效,一般放置在属性初始化代码。

构造方法只能通过以下方式被调用:

(1)      当前类的其他构造方法通过this语句调用。

(2)      当前类的子类构造方法通过supper语句调用它。

(3)      在程序中通过new语句调用。

构造方法重载

(1)      假如在一个构造方法中使用了this语句,那么它必须为构造方法的第一条语句。

(2)      只能在构造方法中用this语句来调用类的其他构造方法,而不能在实例方法中用this语句来调用类的其他构造方法。

(3)      只能用this语句来调用其他构造方法,而不能通过方法名来直接调用构造方法。

7.      继承

注意事项

(1)      构造器不能被继承,方法和实例变量可以继承。

(2)      子类构造器隐式地调用父类的默认无惨构造器。

(3)      如果父类中没有定义无参构造器,只定义了有参构造器,那么子类构造器必须显示调用父类的有参构造器,且必须放在第一条语句。

(4)      This()和Super()在构造器中必须为第一条语句,且不能同时出现。

(5)      父子类同包,子类继承父类中public、protected和默认访问级别的成员变量和成员方法;父子类不同包,子类继承父类中public、protected的成员变量和成员方法。

继承现象总结

(1)      子类重写父类方法,调用子类方法。

(2)      子类属性与父类同名

8.      方法覆盖

方法覆盖即方法重写,覆盖只存在于子类和父类中。

静态方法:静态方法不能被覆盖

(1)      父类的静态方法不能被子类覆盖为非静态方法。

(2)      子类可以定义与父类的静态方法同名的静态方法,以便在子类中隐藏父类的静态方法。

(3)      父类的非静态方法不能被子类覆盖为静态方法。

私有方法:私有方法不能被子类覆盖

抽象方法:抽象方法不能被覆盖

(1)      父类的抽象方法可以被子类覆盖为非抽象方法:子类实现父类抽象方法。

(2)      父类的抽象方法可以被子类覆盖为抽象方法:重新声明父类的抽象方法。

(3)      父类的非抽象方法可以被子类覆盖为抽象方法。

9.      多态

同一操作作用于不同的对象,可以有不同的解释,产生不同的结果。多态的概念也可以被称为“一个接口,多个方法”。

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: