`
fendyibaidutv
  • 浏览: 1874 次
文章分类
社区版块
存档分类
最新评论

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的关系。
    在我们进行面向对象的程序设计时,要转变我们的思维,尽量设计得和现实中很接近,对于公共功能尽量定义到抽象类或接口中,方法中的参数一般使用父类,当然这需要经验的积累,不是一朝一夕的事。
分享到:
评论

相关推荐

    3.java面向对象特征.zip

    3.java面向对象特征.zip3.java面向对象特征.zip3.java面向对象特征.zip3.java面向对象特征.zip3.java面向对象特征.zip3.java面向对象特征.zip3.java面向对象特征.zip3.java面向对象特征.zip3.java面向对象特征.zip3....

    Java面向对象特征

    自己总结的java面向对象特征相关的知识,对java爱好者特别是初学者将会受益匪浅。

    java面向对象特征

    java语言越来越成为计算机语言的主流,在java中面向对象的特征

    4_Java面向对象特性.ppt

    4_Java面向对象特性.ppt

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

    资源描述:Java面向对象知识点的思维导图 内容概要: 这个资源是一个Java面向对象知识点的思维导图,它涵盖了Java中面向对象编程的核心概念和重要知识点。导图中包含了类、对象、继承、多态、封装等基本概念,同时...

    java面向对象特性学Java必看PPT教案学习.pptx

    java面向对象特性学Java必看PPT教案学习.pptx

    Java的面向对象特性 PPT

    Java的面向对象特性PPT,对于Java的类继承,多态等特性有详细的讲解

    Java面向对象基础练习题

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

    JAVA面向对象高级特性

    JAVA面向对象高级特性........................

    Java 面向对象三大特性之多态

    Java 面向对象三大特性之封装性的学习

    孙卫琴java面向对象编程(答案及源码)

    本书采用由浅入深、与实际应用紧密结合的方式,利用大量经典的实例,详细讲解Java面向对象的编程思想、编程语法和设计模式,介绍常见Java类库的用法,总结优化Java编程的各种宝贵经验,深入阐述Java虚拟机执行Java...

    漫画面向对象编程 Java

    面向对象的简、由类创建一个对象的方法、类的编写与对象的创建、类的构造函数、类的方法、修饰符、Java中的封装/继承/多态等特征、Java中的线程、用Java创建一个小世界、多线程共享数据,以及面向对象中的各种设计...

    JAVA面向对象详细资料

    Java面向对象 1 1 学习方法与要求 1 2 面向对象语言与面向过程语言的区别 7 3 面向对象?什么对象? 8 4 什么是类? 9 5 如何创建一个类Class? 10 6 如何使用类创建对象 10 7 引用与实例 11 8 实例属性与实例方法 ...

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

    资源描述:Java面向对象知识点的思维导图 内容概要: 这个资源是一个Java面向对象知识点的思维导图,它涵盖了Java中面向对象编程的核心概念和重要知识点。导图中包含了类、对象、继承、多态、封装等基本概念,同时...

    java 面向对象程序设计全部课件各部分重点内容

    java 面向对象程序设计全部课,各部分重点内容。 有java语法基础,面向对象特征,applet及其利用,图形界面用户设计,异常处理,线程,集合,文件输入输出,网络编程。

    java面向对象.pdf

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

    孙卫琴《Java面向对象编程》配套PPT及书中源码

    本书通俗易懂,并辅以大量的实例,使没有程序设计语言基础的读者,也可以轻松地掌握Java面向对象编程,为程序设计打好基础。 读者只要掌握一定的计算机基础知识,即可通过自学本书,轻松掌握Java程序设计语言及程序...

    Java面向对象思维导图(详尽).xmind

    针对java面向对象模块作出详尽的思维导图整理,帮助我们梳理面向对象知识,主要从面向对象的三条主要知识路线出发: 1.Java类及类的成员 2.面向对象三大特性 3.其它关键字

    Java面向对象基础知识点复习

    1.面向对象的三个特征  封装:封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。  继承:继承实际上是存在与...

    Java面向对象(进阶)- 面向对象特征之三:多态性

    Java面向对象(进阶)-- 面向对象特征之三:多态性

Global site tag (gtag.js) - Google Analytics