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

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语言的核心特性,它包括对象与类、封装性、继承性和多态性四个主要方面。 1. 对象与类: - 对象是程序中的基本单位,代表现实世界中的实体,拥有状态(变量)、行为(方法)和标识(对象名...

    Java面向对象程序设计耿祥义版课件

    二、Java面向对象特性详解 1. 抽象:抽象是将共同特征抽取出来形成类的过程,Java通过抽象类和接口实现抽象。 2. 构造器:构造器用于初始化新创建的对象,Java中的构造器与类同名且无返回值。 3. 访问控制修饰符:...

    《Java面向对象程序设计(第2版)》课件

    2. Java面向对象特性: - 异常处理:Java提供了异常处理机制,通过try-catch-finally语句块捕获和处理运行时错误,提高程序的健壮性。 - 接口(Interface):接口是一种完全抽象的类,仅包含常量和抽象方法。它...

    java面向对象特征

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

    java面向对象编程pdf

    Java面向对象编程PDF 在这篇文章中,我们将对Java面向对象编程的基础知识进行总结和解释。面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,它将程序设计看作是对象的交互,对象之间的关系和行为...

    Java面向对象程序设计

    本教程涵盖了这一关键概念,旨在帮助学习者深入理解和掌握Java的面向对象特性。以下是相关知识点的详细说明: 1. **面向对象编程基础**:面向对象编程(OOP)是一种编程范式,它基于“对象”的概念,强调数据和操作...

    Java面向对象程序设计课后答案全解

    本资源包含了该课程所有章节的课后习题答案,帮助学习者深入理解Java语言的面向对象特性。 1. **类与对象**:Java中的基本构建块是类,它代表了现实世界中的事物或概念。对象则是类的实例,具有类定义的属性和行为...

    Java面向对象应用程序开发

    Java语言以其强大的面向对象特性、跨平台兼容性以及丰富的类库,成为了开发各种类型应用程序的首选工具。在这个话题中,我们将深入探讨Java语言的基础,面向对象编程的概念,以及如何运用这些知识进行实际应用的开发...

    Java面向对象程序设计+源代码+课后习题答案)

    Java面向对象程序设计是计算机科学中的一个重要领域,它基于面向对象编程(OOP)的概念,是一种强大的编程范式。在Java中,OOP的核心概念包括类、对象、封装、继承、多态等。这本书"Java面向对象程序设计"由耿祥义和...

    习题解答-Java面向对象程序设计-邢国波-清华大学出版社.pdf

    Java面向对象程序设计是计算机科学中的一个重要...以上是Java面向对象编程的关键知识点,涵盖了语言基础、程序设计、面向对象特性以及实际编程练习。学习这些内容有助于深入理解Java编程,并能应用于实际项目开发中。

    Java的面向对象特性 PPT

    Java是一种广泛使用的编程语言,以其强大的面向对象特性而闻名。面向对象编程(Object-Oriented Programming,OOP)是Java的核心理念,它使得程序设计更加模块化、可维护且易于扩展。下面,我们将深入探讨Java的面向...

    4_Java面向对象特性.ppt

    4_Java面向对象特性.ppt

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

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

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

    学习Java面向对象特性对于理解和应用OOP原则至关重要,这对于任何希望深入Java编程或软件开发的人来说都是必修的课程。通过熟练掌握这些概念,开发者能够创建出更加高效、结构化的代码,同时也能更好地适应未来的...

    Java面向对象基础(课件)

    Java面向对象基础是Java编程语言的核心概念之一,它在软件开发中扮演着至关重要的角色。本课件主要针对Java的基础部分进行讲解...在实际项目中,Java面向对象特性与数组的灵活运用能帮助你构建高效、可扩展的软件系统。

    Java面向对象程序设计(第3版)-PPT课件

    2. **面向对象编程**:Java3.ppt至Java5.ppt可能深入讨论了类与对象的创建、继承、多态性以及接口等核心面向对象特性。这部分内容对于理解Java的面向对象设计至关重要。 3. **高级Java**:Java6.ppt至Java8.ppt可能...

    java面向对象课程设计(有程序和报告)

    Java面向对象课程设计是计算机科学领域中一个重要的实践环节,旨在帮助学生深入理解面向对象编程的概念和技巧。在这个课程设计中,学生通常会被要求完成一个实际的项目,使用Java语言来实现,同时需要提交详细的报告...

    java面向对象程序设计第4章源代码

    本章节的源代码着重于讲解和实践Java中的面向对象特性,包括类、对象、封装、继承、多态等关键概念。 首先,类是面向对象编程的基础。类定义了一组属性和行为,这些属性描述了类的特征,而行为则表示类可以执行的...

    Java面向对象程序设计课本例题源代码

    以上知识点构成了Java面向对象编程的基础,通过分析和实践这些例题源代码,你可以深入理解Java的核心特性,并提高编程能力。记得不仅要阅读代码,还要动手运行和调试,这样可以从实践中更好地学习和掌握Java编程。

Global site tag (gtag.js) - Google Analytics