zoukankan      html  css  js  c++  java
  • 面向对象系列一(继承)

    面向对象的三大特性——继承、封装、多态性。

    我们先来说说继承。继承,是子类对父类的沿用,父类的除私有(private)部分外,都能够归子类所继承。

    继承的关系:子类=继承类=派生类,父类=基类

    对父类进行继承的子类被称为继承类。又可描写叙述为父类派生而产生的子类为派生类。

    被子类继承的父类被称为基类

    继承的两个特性:单一性、传递性。

    单一性:说的是单继承,即子类直接继承仅仅能继承于一个父类。

    传递性:继承能够传递。即继承类又能够成为其它类的基类。

    继承的作用:实现代码(功能的)可重用、可扩充。

    继承的实现:

    class Demo1
        {
            void show1(){}
            void show2(){}
        }
    
    class Demo2
        {
            void show1(){}
            void show2(){}
        }

    依据继承的当中一个作用,正是对代码的复用。通过观察上面的代码,发现Demo1类和Demo2类都具有show1属性,所以能够使用继承。

    class Demo
        {
            void show1(){}
      }
    class Demo1:Demo
       {
            void show2(){}
        }
    
    class Demo2:Demo
        {
            void show2(){}
        }

    这时Demo1、Demo2都具有了show1()这个属性。

    你可能会说就这么几行代码。我不怕麻烦,直接写写了事了。但实际,问题远没有这么简单,在较大程序中,同样的内容非常多,非常多功能须要反复使用。

    假设写的时候,你说复制粘贴就好。不怕麻烦,但致命的问题在后面。不论什么程序都须要维护,维护就可能改动,假设不用继承,那么改动将成为无休止的痛。



  • 相关阅读:
    python文本处理
    转 Deep Learning for NLP 文章列举
    backpropagation
    开发者必备的6款源码搜索引擎 转
    转【面向代码】学习 Deep Learning(二)Deep Belief Nets(DBNs)
    Sampling
    各种形式的熵函数,KL距离
    [转] 如何在ie11里使用a连接创建动态下载文件流
    修改chrome背景色
    [转] 使用 Spring 5 的 WebFlux 开发反应式 Web 应用
  • 原文地址:https://www.cnblogs.com/jhcelue/p/6895899.html
Copyright © 2011-2022 走看看