面向对象

一、多态

1.  生活中的状态:同一种事物,由于条件不同,则产生不同的结果,事物的多种表现状态。

      程序中的多态:同一个引用类型,使用不同的实例,执行不同的操作。

       父类的引用 子类的实现(使用多态进行实例化)

       Pet pet=new Dog();

2.发生在继承关系中

3.多态实现前提:

  (1)类与类之间存在继承关系。

  (2)类与接口之间存在实现关系。

4.多态实现步骤

  (1)编写父类。

  (2)编写子类,一定要有子类重写父类的方法。

  (3)使用时,就可以使用父类的引用类型,子类的实例。

5.多态实现的方式

  (1)Pet pet=new Dog();

  (2)使用父类作为方法的形参实现多态,调用具体方法传入实参作为子类的实例。

  (3)使用父类作为方法的返回值实现多态,定义方法的返回值为父类,调用方法的返回值为子类的实例。

6.优点:程序的可扩展性

   缺点:使用多态进行实例化,实例化的对象只能调用子类重写父类的方法,子类特有方法无法调用。

  (1)向上类型(自动类型转换)

           Pet pet=new Dog();

          好处:隐藏子类型,提供代码的可扩展性。

          弊端:只能调用子类重写方法,子类特有的方法我们无法调用。

  (2)向下类型(强行类型转换)

           int b=(int)9.8;

           Pet pet=new Dog();

                pet.eat();

           Dog dog=(Dog)pet;

               dog.catch FlyDisc();

           好处:能调用子类特有方法。

           弊端:容易发生异常,类型转换异常。

  使用前进行判断,判断一个对象是否匹配另一个对象类型。

二、接口

1.抽象类 代表一种能力。

  例如:电脑中的USB口。

  接口时特殊的抽象类,(此抽象类中只能房抽吸那个方法和静态常量)

  解决Java的单继承特性。

2.public abstract class A(){

    private age;

    public abstract void add();

}

   public void A(){

  静态常量

  抽象类

}

3.implement 实现

接口特点

  (1)不能被实例化。

  (2)实现类必须实现接口中所有的方法。

  (3)实现类可以实现多个接口。

  (4)所有变量都是静态常量。

4.接口(interface) 实现(implement)

  注意:不同包的类或者接口必须导包,interface接口不能被实例化。

  接口的类型,实现类的实例。

  Lock IS=new stodoor();

   接口               实现类

5.使用接口完成多态的实例化。

6.面向接口的编程不用考虑具体实现细节。

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值