`
sunajax
  • 浏览: 34617 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Java面向对象特性理解

    博客分类:
  • Java
阅读更多
面向对象的程序设计很接近于我们人类自然的思维,相对于面向过程的程序设计,它具有更好的可扩展性和可维护性,使我们编写的代码更健壮!
    面向对象主要有四大特性:封装、抽象、继承和多态。各自定义:
封装:在面向对象语言中,封装特性是由类来体现的,我们将现实生活中的一类实体定义成类,其中包括属性和行为(在Java中就是方法),就好像人类,可以具有name,sex,age等属性,同时也具有eat(),sleep()等行为,我们在行为中实现一定的功能,也可操作属性,这是面向对象的封装特性;
抽象:抽象就是将一类实体的共同特性抽象出来,封装在一个抽象类中,所以抽象在面向对象语言是由抽象类来体现的。比如鸟就是一个抽象实体,因为抽象实体并不是一个真正的对象,它的属性还不能完全描述一个对象,所以在语言中体现为抽象类不能实例化;
继承:继承就像是我们现实生活中的父子关系,儿子可以遗传父亲的一些特性,在面向对象语言中,就是一个类可以继承另一个类的一些特性,从而可以代码重用,其实继承体现的是is-a关系,父类同子类在本质上还是一类实体;
多态:多态就是通过传递给父类对象引用不同的子类对象从而表现出不同的行为,多态可为程序提供更好的可扩展性,同样也可以代码重用。
   下面谈谈它们之间的联系:
    因为在Java是通过类的模板来定义出对象实例,所以自然而然就将对象封装了,这在任何面向对象的语言都很容易体现!
    我觉得在抽象、继承和多态当中,继承是基础。因为如果没有继承这种机制,就没有父类和子类的概念,抽象和和多态根本就无法体现。正是有了继承这种机制,我们可以就抽象实体定义成抽象类,从而具体的实体可以继承抽象类来实现,不需要重复写共同的特性,抽象特性也就体现出来了;也正是因为有了继承机制,才有了父类和子类的概念,从而父类对象引用参数通过传递子类对象体现出不同的行为,实现了多态。继承和多态可明显增加代码重用,减少代码量,同时利用多态可扩展性也增强。
    在Java中,抽象是以两种方式表现:Abstract Class和Interface。Java就是基于接口的编程,在我们编写代码时不知道如何选择应该使用抽象类还是接口,它们虽然看起来没多大区别,但在设计上可以明显看出它们之间的本质区别,具体可以参照http://software.ccidnet.com/art/322/20030312/40306_1.html,那里有对如何选择抽象类和接口的解释。其实我们在选择抽象类和接口时,要记住这样的原则,抽象类是定义一类实体的共同特征,其父类和子类在本质上还是同一类实体,是is-a关系,比如鸟和燕子,抽象类不仅意味着定义特定的行为,而且意味着定义实现的模式;而接口只是定义行为的模型,不同的实体可以implements不同的行为,同时接口要满足ISP原则,即不同实体的行为不能定义在同一接口中,它其实体现的是like-a的关系。
    在我们进行面向对象的程序设计时,要转变我们的思维,尽量设计得和现实中很接近,对于公共功能尽量定义到抽象类或接口中,方法中的参数一般使用父类,当然这需要经验的积累,不是一朝一夕的事。
分享到:
评论

相关推荐

    Java面向对象知识点梳理(思维导图)

    这个导图可以帮助学习者系统地理解和掌握Java面向对象编程的核心概念,以及各种相关的语法和用法。 适用人群: 这个资源适用于初学者和有一定Java基础的开发者。初学者可以通过导图了解和学习Java面向对象编程的...

    Java面向对象基础练习题

    适合刚刚学习到面向对象三大特征的同学来巩固对知识的理解

    Java面向对象知识点的思维导图

    这个导图可以帮助学习者系统地理解和掌握Java面向对象编程的核心概念,以及各种相关的语法和用法。 适用人群: 这个资源适用于初学者和有一定Java基础的开发者。初学者可以通过导图了解和学习Java面向对象编程的...

    java面向对象.pdf

    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向...

    面向对象实验通过编程和上机实验理解 Java 语言是如何体现面向对象

    通过编程和上机实验理解 Java 语言是如何体现面向对象编程基本思想,了解类的封装方法,以及 如何创建类和对象,了解成员变量和成员方法的特性,掌握 OOP 方式进行程序设计的方法。 【实验原理】或 【实验任务】 ...

    Java面向对象编程课后习题答案及源代码

    紧密结合实际,运用典型实例,循序渐进,行动详细讲解Java面向对象的编程思想、编程语法和设计模式。 总结优化Java编程的各种宝贵经验,深入阐述Java虚拟机执行Java程序的原理,从而使你更深入地理解Java语言的各种...

    java面向对象基础

    java面向对象基础,帮助您轻松理解面向对象概念以及面向对象的特征实现。

    有关Java面向对象问题整理汇总

    从20世纪60年代提出面向对象的概念到现在,它已经发展成为一种比较成熟的编程思想,其以人类习惯的思维方式,用对象来理解和分析问题,使开发软件的方法与过程尽可能接近人类认识的世界、解决问题的思维方法与过程。

    Java面向对象的三大特性和面向对象的进阶

    主要简述Java面向对象基础,进阶,高级;从封装、继承、多态、接口、内部类、抽象类和代码块 适合刚开始的新手参考,毕竟我也是自学的 主要可以使用在计算机刚入门的小伙伴或者回来看一看复习一下简单的基础的 ① 凡...

    《java面向对象程序设计-继承和多态》教案.doc

    《java面向对象程序设计-继承和多态》教案全文共5页,当前为第2页。 《java面向对象程序设计-继承和多态》教案全文共5页,当前为第3页。 《java面向对象程序设计-继承和多态》教案全文共5页,当前为第4页。 《java...

    src.zip Java的面向对象编程·讲解代码

    这段代码源码资源可以广泛应用于各种Java项目中,尤其是需要展示并教学Java面向对象编程的课程或培训中。它可以被用作教学示例,帮助学习者理解和掌握Java中的OOP概念和实践方法。 目标: 通过这段代码源码资源,...

    Java技术参考手册_java_

    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向...

    Java学习代码实例,Java基础,Java面向对象,Java高级编程.rar

    所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。 什么是类 类:是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的...

    day10_07面向对象的基本特征三:多态.avi

    面向对象的基本特征三:多态的理解(java) * 多态:多种形态 * * 变量的引用形式: * (1)本态引用:左边的变量与右边的对象是同一种类型 * (2)多态引用:左边的变量是父类类型,右边的对象是子类的对象 ...

    java 面向对象的10大要点

    从基本的理论知识开始讲解在jiava中如何理解面向对象的三大特征及在实际开发中的应用

    JavaOOP-03-封装笔记.pdf Java面向对象的3大特征之封装

    封装在面向对象的3大特征中,相对于继承和多态是较容易理解的

    Java语言面向对象上册教程

    14.面向对象的三大特征 51 14.1 封装性 51 14.2 设计模式-单例模式 63 14.3 static 67 14.4 单一原则 75 14.5 开闭原则 75 14.6 继承性 76 14.7 子类对象的初始化过程 83 14.8 super用法 95 14.9 方法重写 96 14.10 ...

    面向对象技术及应用实验指导

    面向对象技术及应用实验指导Java版,对于面向对象的三大特性作了深入浅出的讲解,并配有示例代码,供大家学习交流!

    java面向对象上篇

    java面向对象课程主要讲解java面向对象的基础内容. ??定义类的语法格式 ??对象的创建和使用 ??方法详解 ??成员变量和局部变量 ??隐藏与封装 ??深入理解构造器 ??继承与多态 ??继承与组合 ??初始化块

    Java面向对象编程三大特征 – 封装

    本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术...

Global site tag (gtag.js) - Google Analytics