千锋教育-做有情怀、有良心、有品质的IT职业教育机构

Java面向对象中四种基本属性分析

时间:2017-10-20 10:42:29  |  来源:千锋教育郑州校区  |  作者:

   众所周知,Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是目前互联网领域应用做广泛的语言。Java提供了面向对象的四种基本性质:抽象性、封装性、继承性和多态性,不过这四种性质该如何理解呢?今天千锋郑州java培训就来给大家详细的分析一下。

  1、抽象性

  抽象就是将一类实体的共同特性抽象出来,封装在一个新的概念(类) 中,所以抽象是面向对象语言的基础。比如人们不会把一辆汽车想象成由几万个互相独立的部分所组成的一套装置,而是把汽车想成一个具有自己独特行为的对象。他们可以忽略引擎、传动及刹车系统的工作细节,将汽车作为一个整体来加以利用。

Java面向对象.png

  2、封装性

  封装是将代码及其处理的数据绑定在一起的一种编程机制,该机制了程序和数据都不受外部干扰且不被误用。在面向对象语言中,封装特性是由类来体现的。我们将现实生活中的一类实体定义成类,其中包括属性和行为(在Java中就是方法),就好像人类,可以具有name,gender,age等属性,同时也具有eat(),sleep(),我们在行为中实现一定的功能,也可操作属性,这是面向对象的封装特性。

  封装的步骤:1、修改属性的可见性来限制对属性的访问;2、为每个属性创建赋值和取值的方法,用于对这些属性的访问;3、在赋值和取值的方法中,加入对属性的存储。限制封装的好处:1、实现了专业的分工;2、类内部的结构能够自由修改;3、能够对成员进行精确的控制;4、隐藏信息,实现细节;5、良好的封装能够减少耦合。

  3、继承性

  继承是一个对象获得另一个对象的属性的过程,就像是我们现实生活中的父子关系,儿子可以遗传父亲的一些特性。继承的特征:1、可传递可扩展。若类C继承类B,类B继承类A(多继承),则类C既有从类B那里继承下来的属性与方法,也有从类A那里继承下来的属性与方法,还可以有自己新定义的属性和方法;2、可复用。若类B继承类A,那么建立类B时只需要再描述与基类(类A)不同的少量特征(数据成员和成员方法)即可。这种做法能减小代码和数据的冗余度,大大增加程序的重用性;3、可维护性。继承通过增强一致性来减少模块间的接口和界面,大大增加了程序的易维护性。

  4、多态性

  多态是允许一个接口被多个同类动作使用的特性,具体使用哪个动作与应用场合有关。多态就是通过传递给父类对象引用不同的子类对象从而表现出不同的行为,多态可为程序提供好的可扩展性,同样也可以代码重用。要理解多态性,首先要知道什么是"向上转型"。我定义了一个子类Dog,它继承了Animal类,那么后者就是前者的父类。子类是对父类的一个改进和扩充,所以一般子类在功能上较父类强大,属性较父类独特,定义一个父类类型的引用指向一个子类的对象既可以使用子类强大的功能,又可以抽取父类的共性。父类引用只能调用父类中存在的方法和属性,不能调用子类的扩展部分。父类中的一个方法只有在父类中定义而在子类中没有重写的情况下,才可以被父类类型的引用调用;对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将会调用子类中的这个方法,这就是动态连接。

新开班

  • ▪ Python培训班 03.26 抢座
  • ▪ HTML5培训班 03.12 抢座
  • ▪ JavaEE培训班 03.26 抢座
  • ▪ Python培训班 02.26 爆满
  • ▪ JavaEE培训班 01.22 开班
  • ▪ HTML5培训班 12.25 开班
  • ▪ HTML5培训班 11.20 开班
  • ▪ UI交互设计培训 11.20 开班
  • ▪ JavaEE培训班 11.20 开班
  • ▪ HTML5培训班 10.09 爆满
  • 郑州地址:郑州市二七区航海中路60号海为科技园C区10层、12层
    咨询电话:0371-55911950 400-654-7778
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训
  • 北京天丰利校区:北京市海淀区宝盛北里西区28号天丰利商城4层
    北京沙河校区:北京市昌平区沙阳路18号北京科技职业技术广场服务楼2层、南区服务楼2层
    咨询电话:400-654-7778 010-82790226-801
    面授课程:iOS培训、Android培训、HTML5培训、UI培训、PHP培训、JavaEE培训、好程序员
  • 深圳科技园校区:深圳市南山区科苑南路高新技术产业园R3-B栋5层
    深圳大学城校区:深圳市南山区留仙大道1201号大学城创客小镇16栋2楼、3楼
    深圳西部硅谷校区:深圳市宝安区宝安大道5010号西部硅谷B座A605-619
    咨询电话:0755-86681178/9-801
    面授课程:iOS培训、Android培训、HTML5培训、UI培训、PHP培训、JavaEE培训、好程序员
  • 上海地址:上海市宝山区同济支路199号智慧七立方3号楼2-4层
    咨询电话:400-627-7899 021-65025129-602
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训、好程序员
  • 成都旅游校区:成都市一环路西二段17号四川旅游青羊校区内
    成都华立校区:成都一环路西二段17号华立大厦3楼
    咨询电话:028-83178771 028-61967740
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训
  • 广州地址:广州市天河区元岗路310号智汇park创意园E座5层
    咨询电话:020-22119207 400-654-7778
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 大连地址:大连市甘井子区软件园路2号B8座二楼
    咨询电话:0411-39026086 400-654-7778
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 武汉地址:武汉市东新区光谷大道77号金融港B26栋9楼
    咨询电话:027-59905909 027-59905908 027-59905902
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 西安南二环校区:西安市二环南路西段60号永安大厦4层
    西安科技园校区:西安市雁塔区高新六路52号立人科技园C座西区4层
    咨询电话:029-85260160 029-85261030 029-85260960
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 杭州地址:浙江省杭州市江干区九堡旺田书画城A座4层
    咨询电话:0571-86893632 010-82790226/7-801
    面授课程:iOS课程培训、Android课程培训
  • 青岛校区地址:青岛市市南区金坛路17号青岛职业技术南校区实训楼A4层
    咨询电话:0532-80910752/3 010-82790226/7-801
    面授课程:iOS课程培训、Android课程培训、UI课程培训
  • 千锋教育微信号
    扫描加好友