java基础—面向对象(一)

java面向对象三大特性:封装、继承、多态

一、封装

	封装就是把类中的私有属性进行隐藏,对外提供对应的方法来操作属性;
	
	用户不用知道类内部的细节,但可以通过这个类调用实例方法来得到属性和设置属性;
	
	优点:
			提高代码的复用性;
			
			减少耦合:能独立的开发、测试、优化、使用和修改;
			
			减轻维护的负担:容易理解,在调试的时候不会影响其他的模块代码;
			
			有效的调节性能:可以通过剖析,确定哪个模块影响了系统的性能;
			
			降低了大型系统的风险:即时整个系统是不可用的,但是这些独立的模块可能是有用的;
	
	以学生类Student为例,对学生的学号、姓名、性别、年龄这些属性进行隐藏,
	对外提供一些set和get方法,操作学生类的学号、姓名、性别、年龄。
	用户不用知道内部细节,内部使用了String类定义年龄。

在这里插入图片描述

二、继承

	继承就是一个类通过关键字extends来继承另一个类:
			如public class Student extends Person{ },
	
	学生类继承了人类,子类可以继承父类的除构造方法和私有方法的其他成员;
	
	作用:代码重用、复用

	单继承

		一个子类,只能继承一个父类,java中不支持多重继承

		一个父类,可以有多个子类

	 不继承:

	 	构造方法

		私有(private)成员

	 子类对象

		先新建父类对象

		再新建子类对象

		两个对象绑定,整体作为一个对象

三、多态

	多态的定义:指允许不同类的对象对同一消息做出响应。
	即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)
	
	实现多态的技术称为:动态绑定(dynamic binding)
	是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。
	
	多态的作用:消除类型之间的耦合关系。

	多态存在的三个必要条件
			一、要有继承;
			二、要有重写;
			三、父类引用指向子类对象。
	多态的好处:
    1.可替换性(substitutability)。多态对已存在代码具有可替换性。
    		例如,多态对圆Circle类工作,对其他任何圆形几何体,如圆环,也同样工作。
    		
    2.可扩充性(extensibility)。多态对代码具有可扩充性。增加新的子类不影响已
    存在类的多态性、继承性,以及其他特性的运行和操作。实际上新加子类更容易获得多态功能。
    例如,在实现了圆锥、半圆锥以及半球体的多态基础上,很容易增添球体类的多态性。
    		
    3.接口性(interface-ability)。多态是超类通过方法签名,
    向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。
    
    4.灵活性(flexibility)。它在应用中体现了灵活多样的操作,提高了使用效率。
    
    5.简化性(simplicity)。多态简化对应用软件的代码编写和修改过程,
    尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要。		
  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值