面向对象编程OOP

目录

1 对象

2 类方法/变量与实例方法/变量

3 接口

3.1 概述

3.2 在接口中使用default方法

4 枚举

5 成员的可见性修饰语

6 final

7 abstract

8 多态


1 对象

      一个对象是一个状态和行为的集合体。状态--对象中包含的数据,在Java中,这些是对象的字段。行为 - 对象所支持的行动,在Java中,这些被称为方法。方法只是面向对象编程中的函数。

      每个对象都有一个类,一个类定义了方法和字段,方法和字段统称为成员。类同时定义了类型和实现。类型 ≈ 对象可以被使用的地方,实现 ≈ 对象如何做事情。宽泛地说,一个类的方法就是它的应用程序接口(API),定义了用户如何与实例互动。

2 类方法/变量与实例方法/变量

      类方法/变量(static修饰):一个与类相关的变量,而不是与类的实例相关。为了引用类变量和方法,你可以将类的名称和类方法或类变量的名称用句号('.')连接起来。类变量和类方法与某一个类相关,在每个类中出现一次。使用它们时不需要创建对象。

      实例方法/变量:引用实例方法和变量,你必须从类的一个实例中引用这些方法和变量。实例方法和变量在一个类的每个实例中出现一次。

3 接口

3.1 概述

Java的接口是一种有用的语言机制,用于设计和表达一个ADT,其实现是一个实现该接口的类。Java中的接口是一个方法声明的列表,但没有方法实现。如果一个类在其实现子句中声明了该接口,并为该接口的所有方法提供了方法实现,那么它就实现了该接口。一个接口可以扩展一个或多个其他接口,一个类可以实现多个接口。

      接口:确定ADT规约;类:实现ADT。也可以不需要接口直接使用类作为ADT,既有ADT定义也有ADT实现。

      实际中更倾向于使用接口来定义变量。

      从Java 8开始,接口允许包含静态方法。

3.2 在接口中使用default方法

      通过default方法,在接口中统一实现某些功能,无需在各个类中重复实现它。以增量式地为接口增加额外的功能而不破坏已实现的类。

4 枚举

      有时,一个类型有一个小的、有限的不可改变的值集,例如:一年中的几个月。一月,二月,...,十一月,十二月。当值的集合较小且有限时,将所有的值定义为命名的常量是有意义的,称为枚举。Java有枚举结构。

      public enum Month {

JANUARY, FEBRUARY, MARCH, ...,

OCTOBER, NOVEMBER, DECEMBER;

}

Month month = Month.MARCH;

if(month.equals(Month.MARCH)) {...}

for(Month m : Month.values())

m.name();

m.ordinal();

m.comparedTo();

m.toString();

...

5 成员的可见性修饰语

      private:只能从声明类中访问。

      protected:可从声明类的子类中访问(以及在包内)。

      public:可从任何地方访问。

6 final

final修饰的域:防止初始化后修改这个域。

final方法:防止重写该方法

final类:防止继承这个类。

7 abstract

      抽象方法:一个有声明但没有实现的方法,由关键字abstract定义。

      抽象类:至少包含一个抽象方法的类。

      接口:只有抽象方法的类。

      如果某些操作是所有子类型都共有,但彼此有差别,可以在父类型中设计抽象方法,在各子类型中重写。

     

8 多态

      特殊多态:一个函数根据有限的单独指定的类型和组合来表示不同的和潜在的异质实现。许多语言都使用功能重载(function overloading)来支持特殊多态。

      参数化多态:当代码编写时没有提到任何特定的类型,并因此可以透明地用于任何数量的新类型。在面向对象的编程界,这通常被称为泛型或通用编程。

      子类型多态、包含多态:当一个名字表示许多不同的类的实例被一些共同的超类所联系时。

      当一个函数在几个不同的类型(可能没有表现出共同的结构)上工作,并且对每个类型可能有单独无联系的行为时,就会得到特殊多态。

重载方法让你在一个类中重复使用相同的方法名,但有不同的参数(也可选择不同的返回类型)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值