面向对象(三)

面向对象的特征:封装,继承,多态

面向对象特征—封装

将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问 。

对类的某些信息进行隐藏,使用访问权限修饰符向外界提供方法类访问

设计模式:前人总结出的解决某类问题的最优方案——模板

1.属性私有化是封装的一种体现,提供外界能够访问到的方法

2.构造方法私有化

优点:

1.只能通过规定方法访问

2.隐藏类的实现细节

3.方便加入控制语句

4.方便修改实现

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmFuZW15Xw==,size_20,color_FFFFFF,t_70,g_se,x_16

 

面向对象特征—继承

继承是面向对象程序设计不可缺少的设计思想,是实现代码可重用的根基,是提高代码可扩展性的主要途径。 

子继承父类,使用父类中已经实现好的功能,而且子类还可以扩展自己的特有的功能。

面向对象设计宗旨:代码复用性高,代码扩展性。

什么情况下使用继承?满足什么是什么,is —a关系(继承),猫是动物,狗是动物。

具体的语法:使用extends关键字。

构造方法:子类构造方法会先调用父类构造方法 

将构造方法私有化,在程序的其他地方就不能随意的调动构造方法

向外界提供一个方法,用来获得创建的唯一对象,在类内部控制起来比较方便

构造方法作用:初始化对象,对象属性赋值

使用super关键字调用父类任意一个构造方法,必须写在构造方法的第一行 

如果子类的构造方法中没有显式地调用基类构造方法,则系统默认调用基类无参数的构造方法。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmFuZW15Xw==,size_18,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmFuZW15Xw==,size_20,color_FFFFFF,t_70,g_se,x_16 

 

super关键字

使用super关键字访问父类成员 

用super.成员变量名来引用父类成员变量  

用super.方法名(参数列表)访问父类的方法 

用super.构造方法(参数列表)访问父类构造方法

方法重写

在子类中把父类中的某一个方法在子类中重写,从而覆盖掉父类中的方法

什么时候重写:当父类的实现方式不能满足/与子类不同时,需要在子类中对父类方法进行重写覆盖

@override表示此方法是从父类中重写而来的。

重写父类的方法要求:方法名与在父类中的一致,参数一致,访问权限一致

重写规则:

1.方法名相同、参数列表相同; 

2.返回值类型相同; 

3.访问权限不能小于父类权限; 

构造方法、静态方法不能重写,成员变量不存在重写

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmFuZW15Xw==,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmFuZW15Xw==,size_20,color_FFFFFF,t_70,g_se,x_16 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmFuZW15Xw==,size_20,color_FFFFFF,t_70,g_se,x_16 

 

抽象类

当一个类中含有不具体的内容时。

用abstract修饰的类就是抽象类,如果某个类中包含有抽象方法,那么该类就必须定义成抽象类。

若父类为抽象类,则子类必须为抽象类或者将父类中的抽象方法重写。

特点: 

1.抽象类不能被实例化,但可以有构造方法,因为抽象类中含有无具体实现的方法,所以不能用抽象类创建对象。 

2.抽象类只能用作基类,表示的是一种继承关系。继承抽象类的非抽象类必须实现其中的所有抽象方法,而已实现方法的参数、返回值要和抽象类中的方法一 样。否则,该类也必须声明为抽象类。

eg:动物是一个比较大的概念,里面定义的吃东西的方法具体的实现。但是子类与动物类中吃的多数不同,那么在父类中的实现就有些可以在动物类中。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBASmFuZW15Xw==,size_20,color_FFFFFF,t_70,g_se,x_16

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值