zoukankan      html  css  js  c++  java
  • 深入理解面向对象的三大基本特征

    我们都知道面向对象有三个基本特征:封装,多态和继承。

    封装:

      我先来援引一 位网友写的段子:基本的变量已经不再浮游于一大段一大段的程序中了,它们已经放弃了(其实是程序员不用这种方式了)这种自由自在的存在方式,而是安稳的寄 居于庞大而蹒跚的“对象”内部,与外界隔开来,通过迂回曲折的间接途径与外部世界联系和通信。而这些对象,就是它们这些基本变量的生存机器!

      在面向过程的开发中,变量被暴露在整个程序中,不小心的一个修改就可能导致整个程序出错。 所以封装有利于我们让自己的程序更健壮。这个大家很好理解。

    继承:

      提供了同一类对象共性的处理方法,子类继承父类共性的东西。 这样有利于代码的复用性,这个大家肯定也很好理解。

    多态:

      估计大家不好理解的就是这个概念了,我当初也是这样的,而且一直以为函数的重载也是多态,最近看了某些大神的文章之后才理解了一点点。

      不同类对象对相同行为的不同反应,我们就把它叫做多态。 与继承相对应的是多态提供了对同一类对象差异性的处理方法,子类通过多态重写从父类继承的方法来实现子类的差异性。

      我来举一个简单的例子大家可以理解一下:

    class Aninal{ 叫;}//叫是动物的一个方法

    class 猫 extend Animal{叫;}

    class 狗 extend Animal{叫;}

    Animal 狗 = new 狗();

    Animal 猫 = new 猫();

    狗.叫();

    猫.叫();

      这里的多态的态应该指的是形态,比如狗可以有Animal的形态,真正本质是将对象的型别忘掉,模糊了父类和子类之间的差异,用相同的形式去表达不同的行为! 这样有利于代码在复用性的基础上让子类表现自己的差异性。

  • 相关阅读:
    随便写写
    mysql 快速插入100完毕 40秒
    存储过程 插入表数据 循环
    打开地图拖动位置获取经纬度 给父窗口传值
    Go源码共读计划
    源码读起来,Go源码共读计划
    清除centos所有命令记录
    删除django后台最近一个动作提示。
    自动延期pycharm插件,非常好用.
    pycharm中使用solidity插件 ,编写solidity以及在pycharm内进行编译。
  • 原文地址:https://www.cnblogs.com/yilinglingyi/p/4129533.html
Copyright © 2011-2022 走看看