zoukankan      html  css  js  c++  java
  • 也看面向对象

    本人以一名普通的在读211大三学生的立场和观点写下这篇文章,仅代表个人观点,难免有所偏颇,欢迎指正。


    转眼已经大三,具体第一次接触面向对象已经两年了,其中经历了C++的启蒙,Java和C#的锻炼,js和lua的毒打,也见过rust与go的不一样,还接触到了一些FP(函数式编程)。回想起来对面向对象有一个新的认识。

    面向对象(OO)的特点是什么?我觉得学过这门课的人都会说,封装、继承、多态。
    的确,这就是大家认识的OO的特征,但这并不是最本质的面向对象的特性。

    封装:封装的目的就是让你碰不到你不该碰到东西,封装可能又很多原因,比如,这个过程不能被修改,修改了就会出错,或者,保持一个接口的清晰。
    但是封装也带来了很多麻烦,比如,我真的需要修改这个实现的过程,我也很清楚我在干嘛,封装就会给这个过程带来了麻烦。
    封装的原因还是不相信程序员,的确,你不能确定你的代码是谁会接着写,保持一个好的模式是避免问题一个解决方法。

    封装就是为了让程序结构变得清楚,把同类的东西放在一起,把不需要让其他人知道的东西藏起来。

    在C++中封装的体现就是类,类把同类的属性给提取出来,比如有相同方法的东西提出来变成一个类,但是我的很多东西有部分方法是相同的,而其他却不同,我们把这些相同的方法提取出来,形成一个新的类,而这些原来的类就是这个类派生出来的,这个过程就叫做继承。

    WIP

  • 相关阅读:
    NTP服务安装
    Teambition 的使用
    搭建svn服务器和测试
    通过NTP协议进行时间同步
    转利用OpenSSL库对Socket传输进行安全加密(RSA+AES)
    转源码编译安装MySQL5.6.12详细过程
    CentOS 6.4安装ffmpeg2.4.2 支持h.265
    转:CentOS 6.4 64-bit编译安装ffmpeg
    Work 2013 博客园挂博客
    FLASH和EEPROM的最大区别
  • 原文地址:https://www.cnblogs.com/jhy16193335/p/12191255.html
Copyright © 2011-2022 走看看