`
Eros_李
  • 浏览: 7175 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

面向对象的特性【封装、继承、多态】

    博客分类:
  • Java
阅读更多

打算记录一下自己学习Java的过程,顺便理顺一下自己的知识与体系,会逐渐完善的。

 

本文介绍的是面向对象的特性:封装、继承和多态。

 

 

【封装】

先来说一下封装:封装性是面向对象编程的核心思想,其实就是将描述某种实体的数据和基于这些数据的操作集合到一起,形成一个封装体。封装性是通过访问修饰符来限定应用程序内文件的访问级别的。Java语言中的访问控制级别有4种,分别是public、protected、default和private。

 

public意为共有的、公共的,访问级别最高,使用此修饰符的成员被访问时不受任何限制。    protected意为受保护的,使用此修饰符的成员只能由派生类或统一程序包中的类进行访问。    default意为默认的,使用此修饰符的成员只能由统一程序包中的类进行访问。    private意为私有的,访问级别最低,使用此修饰符的成员只允许自身所在的类进行访问。    使用过程中应该注意:

  • 不能使用protected和private去修饰类
  • 要尽量遵循“尽可能保持数据的私有性”原则

对属性的封装

 

 以Car类为例,相对于brand(品牌)这个变量而言,seats(座位数)少了setSeats()方法,这就表示seats这个变量只能在Car类中进行修改。

 

类中方法的封装

上面实现了对方法SmallCar()的封装,在方法的调用过程中,先将所需调用方法所在的类SmallCar进行实例化,再通过类的实例化进行方法的调用,如下图,这样在多次使用print()输出语句的时候就可以进行代码的复用,节省时间。

 

 

 

继承

继承也称为泛化,表现的是一种共性与特性的关系。Java中只支持单继承,一个类可以继承另一个类,并在此基础上添加自己的特有功能,被继承的类叫父类(parent class)或超类(super class),继承父类的类叫子类(subclass)或派生类(derived class)。如果一个类没有指明任何父类,则缺省的自动继承java.lang.Object类(Object类是所有类的顶级父类,在Java中所有类都是直接或间接的继承了Object类)。

 

 继承是通过关键字extends来实现的,如下图

 

 

 

 

【多态】

 1.方法重写(override)。主要应用于父类与子类之间,如果父类无法满足子类的要求,则可以在子类中对父类的方法进行改造。方法重写需要遵循几点:

  • 方法签名(方法名和参数列表)必须完全相同
  • 子类方法的返回值类型(或声明异常)可以与父类的相同或是其子类
  • 父类中的私有方法不能被重写
  • 子类方法的可访问性可以与父类的相同或是更公开。例如父类方法的可访问性为protected,则子类方法可以为public或protected。
  • 静态方法不存在重写的概念。

 如下例,子类SmallCar重写了Car中的start()方法,在main方法中,构造了SmallCar的实例并调用了start()方法。

 

运行结果如下,由于重写了父类Car的start()方法,所以在调用SmallCar实例start()方法时使用的是其重写后的方法。

 

 如下图,A()方法接收了car类型的参数,main()方法中分别向A()方法传入了Car、SmallCar类的对象

 

执行结果如下:可看出构造SmallCar实例的start()方法时使用的是重写后的方法,构造Car实例的start()方法时使用的是重写前的方法。

 

 

 2.方法重载。通常是指同一个类中,相同的方法名对应不同的方法实现,即方法所需要的参数不同。方法重载是同一个类中多态性的一种表现。进行方法重载时,有三条原则要遵守:

  • 方法名相同
  • 参数列表(个数、类型、顺序)不同
  • 返回值不作为方法签名

如图,在Car类中,定义的两个start()方法的参数不同,所以进行重载。

 

结果如下,相同方法名对应不同的结果,也就是相同方法名对应不同的方法实现。

 

 

在使用面对对象的方式解决问题时,一定不要忘记其特性,运用其特性提高效率及安全性。

 

 

 

 

 

 

 

  • 大小: 10.8 KB
  • 大小: 4 KB
  • 大小: 4 KB
  • 大小: 5.9 KB
  • 大小: 18.6 KB
  • 大小: 19.3 KB
  • 大小: 9.6 KB
  • 大小: 15.4 KB
  • 大小: 6.9 KB
  • 大小: 11.4 KB
  • 大小: 12.4 KB
  • 大小: 8 KB
分享到:
评论

相关推荐

    Educoder题目:Java面向对象 - 封装、继承和多态答案解析.md

    Educoder题目:Java面向对象 - 封装、继承和多态答案解析

    Educoder题目:Java面向对象 - 封装、继承和多态的综合练习答案解析.md

    Educoder题目:Java面向对象 - 封装、继承和多态的综合练习答案解析

    java面向对象三要素封装继承和多态源码

    java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素...

    java总结,基础语法,面向对象,封装继承多态,异常

    java总结,基础语法,面向对象,封装继承多态,异常

    使用C语言实现封装,继承,多态等面向对象的特性

    使用C语言实现封装,继承,多态等面向对象的特性使用C语言实现封装,继承,多态等面向对象的特性使用C语言实现封装,继承,多态等面向对象的特性使用C语言实现封装,继承,多态等面向对象的特性使用C语言实现封装,...

    java基础继承封装多态

    本资源摘要信息将对 Java 基础知识点进行总结,涵盖继承、封装、多态等概念,并对面向对象的设计、数据库设计模式等进行讲解。 继承 继承是 Java 中的一种机制,允许一个类继承另一个类的属性和方法。继承的语法是...

    C# 一个完整的类 面向对象三大特性 封装 继承 多态 的示例

    C# 一个完整的类 面向对象三大特性 封装 继承 多态 的示例 封装通过私有字段和公共方法来实现对数据的访问控制。 继承通过派生类Student继承自Person类,获得了Person类的所有属性和方法,并在此基础上扩展了自己的...

    c++ 的封装继承多态例子

    在C++编程语言中,封装、继承和多态是面向对象编程(OOP)的三大核心概念。下面将深入解析这三个关键概念,并结合"cppgood"这个可能包含示例代码的压缩包,来阐述它们在实际编程中的应用。 **封装** 是面向对象编程...

    Java 面向对象(继承、多态).ppt

    面向对象的概念 掌握类的继承、方法重写、super关键字的使用、final关键字 熟悉面向对象继承和多态的概念

    JAVA面向对象基础测试题-继承-封装-多态等测试题.docx

    根据给定文件的信息,我们可以总结出以下几个面向对象的基础知识点,并结合具体的题目来进行解析: ### 面向对象基础知识概述 面向对象编程(Object-Oriented Programming, OOP)是一种编程范式,它将数据和处理...

    面向对象封装继承和多态.docx

    本文档总结了面向对象编程的基础知识点,包括封装、继承、多态、集合等内容。以下是对每个知识点的详细解释。 类和对象 * 类是抽象的概念,java 中面向对象编程就是面向类来编程。 * 类是具有相同属性和行为的一个...

    Java面向对象编程(封装/继承/多态)实例解析

    Java 面向对象编程(封装/继承/多态)实例解析 Java 面向对象编程是一种编程范式,它强调对象之间的交互和继承关系。在 Java 中,面向对象编程主要体现在三大特征:封装、继承和多态。 封装是指隐藏对象的内部细节...

    C#做的计算器,利用类的封装继承多态。。

    在C#编程中,"C#做的计算器,利用类的封装继承多态"是一个典型的面向对象编程示例。这个计算器项目展示了如何应用C#的核心概念,如类、封装、继承和多态,来构建一个实际的软件应用。下面将详细解释这些知识点。 1....

    java面向对象的基本知识,封装继承多态等

    java面向对象的基本知识,封装继承多态等

    类和对象、对象和封装、继承、多态、异常等教学...

    本教程针对初学者,详细讲解了类和对象、对象和封装、继承、多态以及异常处理等关键面向对象的知识点。 1. **类和对象**: - **类**:类是Java中的蓝图,它定义了一组具有相同属性和行为的对象。在"第一章 类和...

    Java封装继承多态实例以及文件流操作

    在这个实例中,我们将探讨四个关键概念:封装、继承、多态以及文件流操作,这些都是Java中的核心特性,也是理解OOP(面向对象编程)的基础。 首先,**封装**是面向对象编程的核心理念之一,它涉及将数据和方法捆绑...

    用一个示例来说明C#中的继承、封装和多态

    在C#编程语言中,继承、封装和多态是面向对象编程(OOP)的三大核心概念。这些特性使得代码更加灵活、可复用且易于维护。下面将通过一个具体的示例来阐述这三个概念。 首先,让我们理解一下这三个概念的基本含义: ...

    OC封装继承多态演示

    面向对象编程(Object-Oriented Programming,简称OOP)是软件开发中的一种核心概念,它在...这个"OC封装继承多态演示"的示例项目,无疑是一个很好的学习资源,可以帮助开发者更深入地理解面向对象编程在实践中的应用。

    面向对象编程二继承封装和多态2022优秀文档.ppt

    面向对象编程是现代软件开发中的核心概念,它主要由三个基本特征构成:继承、封装和多态。这些特性使得代码更加模块化、可复用和易于维护。 **继承(Inheritance)** 继承是面向对象编程的一个关键特性,它允许一个...

    9、Java面向对象之继承和多态作业题[收集].pdf

    在Java编程语言中,面向对象是其核心特性之一,它包括了封装、继承和多态等概念。这里的作业题主要涉及到了继承和多态这两个面向对象的重要知识点。 首先,我们来详细讲解一下**继承**。继承是面向对象设计的一个...

Global site tag (gtag.js) - Google Analytics