谈谈面向对象的理解

huangwuyi 2018-11-22 原文

谈谈面向对象的理解

一直以来对于面向对象的理解都仅仅是停留在字面的阶段:封装、继承和多态。

封装就是把对象包装成一个类,

继承就是有一个抽象出来的基类,

那么多态呢?对于多态的理解仅仅停留在override重写关键字上面,不知道什么时候使用。

直到前几天去参加一个面试,面试的大佬说:在面向对象的语言中,我们要弱化接口的概念,使用多态。你谈一下对多态的理解。

我当时竟然是想不出来多态是什么,满脑子竟然是泛型。其实隐约也有一点重写方法实现的念头,但是当时没有怎么说。

接着是发展到了目前干的一个项目,项目里面抽象了一个基类、抽象了一个接口,后续的类型都是继承了基类,实现了接口。慢慢的发现其实这个接口完全没有必要,最好是把接口中的方法直接转到到基类中去,然后子类直接重写这几个方法就可以了。这应该就是多态的用处吧。

个人有一个想法:接口不是面向对象的。

 

发表于 2018-11-22 10:00 黄五一 阅读() 评论() 编辑 收藏

 

版权声明:本文为huangwuyi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/huangwuyi/p/9999285.html

谈谈面向对象的理解的更多相关文章

  1. Go语言中的代码重用 – 继承还是组合?

    Go语言中的代码重用 – 继承还是组合? 故事要从我在一个项目中,想要假装的专业一点而遇到的一个陷 […]...

  2. 翻译 | The Principles of OOD 面向对象设计原则

    本文首发于vivo互联网技术微信公众号  https://mp.weixin.qq.com/s/Q_pziBU […]...

  3. JS与ES6高级编程学习笔记(三)——JavaScript面向对象编程

    一、概述面向对象程序编程(Object-oriented programming,缩写:OOP)是用抽象方式构建基于现实世界模型的一种编程模式,JavaScript是一种基于对象(object-based)的语言,支持面向对象编程与函数...

  4. 一文讲全了Python 类和对象内容

    摘要:这是一个关于 Python 类和对象的全部内容。 本文分享自华为云社区《从零开始学python | Py […]...

  5. 面向对象之六大设计原则

    六大设计原则 一、单一职责原则     1.定义:应该有且仅有一个原因引起类的变更。     2.单一职责的好 […]...

  6. 【设计模式】桥接模式 Bridge Pattern

    【设计模式】桥接模式 Bridge Pattern 2018-08-17 23:53 by 蓝之风, R […]...

  7. 前端知识点回顾之重点篇——面向对象

    面向对象编程 面向对象的三大特征:继承,封装,多态 ES5的面向对象 ES5中用构造函数来模拟类的概念,可以根 […]...

  8. javaScript设计模式之—-工厂模式

     什么是工厂模式?我们通过一个例子了解一下:         比如我们想要弹出几个字符串 function f […]...

随机推荐

  1. QQ 互联审核不通过问题的解决方法

      Destoon网站程序实现QQ一键登录的方法 | 浏览:142 | 更新:2013-11-22 13:00 […]...

  2. 防止浏览器记住用户名及密码的简单实用方法

    很多浏览器都有自动填写功能,我在input上使用了autocomplete=”off” […]...

  3. 安装vncserver, vncviewer–远程桌面

      1 问题如下 /etc/sysconfig/vncservers—配置文件作用去掉最后两行的注 […]...

  4. 简单Web UI 自动化测试框架 seldom – 虫师

    简单Web UI 自动化测试框架 seldom 2019-11-12 23:01  虫师  阅读(14307) […]...

  5. 千人千面精准推荐机制之大白话细解协同算法

    前言 相信很多小伙伴都听说过大数据、AI推荐、千人千面等高大上的话语;也经常看到很多App应用中,会经常推荐一 […]...

  6. 两天快速开发一个自己的微信小程序 – 悬笔e绝

    两天快速开发一个自己的微信小程序 ~~~ 更新于2018年8月7日 ~~~ 你们要的前端、服务端、数据库一整套 […]...

  7. 团队项目-选题报告

    组长博客链接 团队项目整体计划安排 阶段序列 阶段时间 主要阶段任务 完成情况 第一阶段 9.6 团队成立 已 […]...

  8. Cassandra与Kafka的集成

    Cassandra和Kafka经常一起用于微服务架构中。本文将介绍几种Cassandra和Kafka常见的集成 […]...

展开目录

目录导航