zoukankan      html  css  js  c++  java
  • Java学习的随笔(2)Java语言的三大特性

    1.面向对象的三大特性

      面向对象的三大特性主要包括:继承、封装、多态

      (1)继承:就是指子类(导出类)获得了基类的全部功能(所有的域和方法)。  注:在子类中,想要调用基类的方法可以使用“super.方法名”来调用。

      术语:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继 承了原始类的          特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增 加新的方法使之更适合特殊的需要。

      (2)封装:就是类将功能作为一个方法提供给使用者进行调用,但该功能的具体实现对外部来说是不可见的。

      术语:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个        受保护的接口访问其他对象。

      (3)多态:对于多态,个人感觉最重要的是向上转型。所谓向上转型是指当函数形参为基类的对象时,调用时的实参可以是导出类的对象。

          由于导出类是基类的一个超集,它可能比基类含有更多的方法,但它一定至少具备基类中所含有的方法。在向上转型的过程中,类接口中唯一可能发生的事情是剪裁、丢失多余                   的方法,而不是获取它们。

        这样,我们就可以看到向上转型对程序简化能带来的贡献:

        例:

        
        可以看到,在不使用向上转型的情况下,要为每一个类写一个tune()方法。但是通过使用向上转型,只需在基类中实现tune方法,在调用时,通过实参的不同就可以实现调用不同类的         
                方法的目的。
     
        对于 Brass frenchHorn = new Wind();  实际上是定义了一个Brass对象,通过对于Java创建对象的理解,可以知道,栈内对象的引用决定了对象的行为,而不是在堆栈中的对象实
        体。
     
         术语:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序
        函数同名问题。
  • 相关阅读:
    SpringCloud_组件常用注解
    SpringBoot_启动器
    SICP习题 1.5 (应用序与正则序)
    SICP习题 1.4 ( if 语句返回运算符)
    SICP习题 1.3 (求较大两个数的递归)
    SICP习题 1.2 (前缀表达式)
    SICP习题 1.1 (if cond语句)
    MySQL5.7 踩坑实录
    类找不到总结java.lang.ClassNotFoundException
    网易校招2018----题目3----字符串碎片
  • 原文地址:https://www.cnblogs.com/kingatnuaa/p/4036593.html
Copyright © 2011-2022 走看看