面向对象编程的核心——抽象

       抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。例如苹果、香蕉、生梨、葡萄、桃子等,它们共同的特性就是水果。得出水果概念的过程,就是一个抽象的过程。要抽象,就必须进行比较,没有比较就无法找到共同的部分。

抽象类:

     在父类中只定义类的骨架,只有方法的定义,没有方法体。也就是说没有方法的实现。而让方法的实现在类中根据具体的需要去完成,增加类设计的灵活性,加强类的管理。

在抽象的类中至少有一个方法是抽象的,也就是含有抽象方法的类必须定义为抽象的,抽象中也可含有具体实现的方法。

抽象方法:

     只有方法定义,没有方法实现,必须用abstract修饰。

     特征:含有抽象方法的类必定是抽象的类,抽象类所有的方法并非都是抽象的 。

                 抽象类的子类必须实现所有的抽象方法,否则该类还是一个抽象的类。

    因为抽象类不能实例化对象(为什么?),那么抽象类是否含有构造方法呢?

抽象类含有构造方法,但却不能构造对象,原因是抽象类中含有没有实现的方法,如果可以构造,对象那么这个对象不知道是什么东西。这个对象实体是不完整的。例如 水果是一个抽象类,那么有不有一个叫做水果的东西呢?

答案是显而易见的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值