浅谈面向对象与女娲造人
由于课程需要,学习Java和面向对象也已经好几个月了,今天来浅浅的谈论一下我对面向对象的理解。
什么是面向对象?
如果你百科或者wiki一下,倒是能翻出一大堆来。如果你嫌这些答案不够深沉,不够装逼,甚至还可以知乎一下云云。
但是,你有没有想过,学习程序设计是为了什么?
从正式开始接触计算机到现在也已经两年了,我再也翻不下去一堆堆厚重的书籍和资料,原因在于它们只是为了写更多的文字,却很少能够把一个简单的概念解释清楚。
我很欣赏一个程序员的本质就是单纯,老老实实写写代码本身就是一件很开心的事了(对此,我深信Java让简单主义者开心不起来),而不是像个学术研究者一样,捧着一堆文献来研究,甚至还要把自己的思维装订成册才好。
简单说,我能够最快掌握一门技术,然后写出自己想要实现的东西,这便是目的(当然,也有以钱途为目的的人)。
扯远了,回归主题……
很多人会说面向对象是:
封装
继承
多态
或是balabala……
但是,你真的了解面向对象的本质了吗?请确定你真的了解了,而不是为了学习一门语言而不得不硬着头皮接触面向对象。
为了不让冰冷的技术词汇产生距离感,我用女娲造人这个例子来说明面向对象是个什么东东。
首先,盘古开天辟地……(此处省略2000字)
女娲一个人实在闷得慌(这也难怪,是个人都会寂寞,除了默默忍受寂寞的程序员们 = =#),尼玛就突发奇想,搞出了个造人大计!
ps:如果她知道现在的人是这副德行,尼玛肯定后悔得像买了切糕一般(局外话)。
但是,人是如何造成的呢?再牛逼的女娲也像从前小时候玩橡皮泥的我们一样,搓来搓去没个名堂,最终还是需要个模板,是个人都知道,这个模板就是她自己。
关键点1:面向对象的基本设计原则就是需要一个模板(或称为蓝图),在程序设计语言里,我们把这个模板称为类。
好了,有了一个模板,女娲就可以对着模板来造人了,造出的人也就是一个模板(类)的对象。
我们知道,人有一些基本特征:一个头,两只眼睛,双手双脚。
此外,人还有一些基本行为:吃喝嫖赌抽。
关键点2:此处的基本特征就是一个类的属性,基本行为就是类的方法。
有人问了,为什么不需要皮肤,指甲等属性,或奔跑、磕头等行为?道理很简单,我只需要知道有用信息,如同有主机、显示器,鼠标键盘,可玩游戏我便能明白这是一台电脑。
模板有了,一些基本的构造条件有了,剩下考虑的就是量产了,所谓的量产也就是生产类的对象,造出千千万万个人(真伟大~!)。
其实,人还有个不愿意公开承认的特性,就是爱“犯贱”。甚至以挖苦别人,或者对他人身体造成伤害为乐趣。为了避免一些严重伤害,我们只能把危机生命的心脏等器官放到身体内部了。
关键点3:把基本特征(属性)保护好,防止他人随意践踏,这叫做封装。
当然,随着当事者所处的环境不同,保护措施也不一样,正如同小孩想滑旱冰就需要护膝是一样的道理。在类中,我们要依照自己的经验完善好封装这一概念。
人活在这世上,是不公平的,有些人天生就是高富帅,富二代,官二代,why?因为他们有个牛逼的爹。而还有些人,却生的一副挫样,还要替父还债。
关键点4:类似与这种行为,我们叫做继承。一个子对象,是具有父类特征和行为的,当然你可以通过各种方式转变。(好好写代码,终成高富帅)
人有了,人造人这种令人难堪的事也发生了。但是却还出现了男人和女人的区别,这叫人如何是好。因为有了男女,不仅让世界变得和谐了,却也……哎,凡事都有两面性嘛。
我们可以说,一个男人是一个人,也可以说一个女人是一个人。但男女不论从某某结构还是××来说都是有所差别的,但基本特征不变。
关键点5:都有了上层的基础概念,而存在具体的细节实现不同,这种行为我们管它叫做多态。
我不得不说,我要写完了,一行代码都没有。对于新手而言,希望看到更多的并不是代码,而是一种思想上的东西,甚至是,不愿意别人全部都给你想透彻,而是能够有所启发。因此,请老鸟越过,新人要喷就喷,要拍就拍,经过那么多厚部头的折磨,我已经蛋定了……
转载于:https://www.cnblogs.com/nerxious/archive/2012/12/13/2816470.html
浅谈面向对象与女娲造人相关推荐
- 趣味教程:从女娲造人谈类、属性、方法及实例
前言:相信大家都听说过女娲造人的故事,不过细节可能不会太清楚,我现在略述如下,您可要仔细听哦,这和我们今天要聊的主题有莫大的关系呀. 女娲是一个人身龙尾的女神.盘古开天辟地以后,也就在天地间到处游历. ...
- 『软件工程13』浅谈面向对象方法,统一建模语言UML
浅谈面向对象方法UML 一.UML的含义 二.UML的主要内容 1.UML的概念模型 2.UML概念模型图例 三.UML的基本构造块 1.UML中的事物 (1)UML中的四种事物 (2)UML中各种事 ...
- 设计模式——简单工厂模式之女娲造人
目录 一.定义 二.解决的问题 三.模式结构图 四.具体实例(女娲造人) 4.1 UML类图 4.2 代码 4.3 运行结果 一.定义 简单工厂模式又称为静态工厂方法模式,它属于类创建型模式. 在简单 ...
- 设计模式(java)—— 简单工厂模式之农场,女娲造人
1.一个农场专门负责种植各种水果,比如苹果.草莓.葡萄等,任何水果都可以种植.生长和采摘.此外,每一种水果还有自己的特性,如:苹果是多年生具有树龄的属性,葡萄则分为有籽或无籽等.农场生产的水果都送入超 ...
- 面向对象与上帝造人——类与对象(java篇)
转载我老板的文章 面向对象与上帝造人--类与对象(java篇) 学习和使用java断断续续很多年了,头脑中关于"面向对象编程"的概念总是偏向于使用java来诠释.我是个半路出家的程 ...
- 【c++开篇】浅谈面向对象与面向过程(举例说明)
浅谈面向对象与面向过程 前言:刚接触C++第一时间,都会经常听到这样一话:C语言面向过程,C++面向对象.在老师模拟面试时,问道你对面向对象与面向过程的认识时,我有点懵答的不是很完整,刚好C++开篇写 ...
- 设计模式(java)--简单工厂模式之女娲造人.水果农场
女娲抟土造人 话说:"天地开辟,未有人民,女娲抟土为人."女娲需要用土造出一个个的人,但在女娲造出人之前,人的概念只存在于女娲的思想里面. 女娲造人,这就是简单工厂模式的应用. ...
- 工厂模式(女娲造人)
在女娲补完天之后,发现世界上有湖泊,河流,树木,动物,却没有掌管他们的东西,于是乎,女娲开始造人. 搭起锅炉(造人工厂),捏吧小人,放入锅炉. 啊呀,火青了,造一个白种人 啊呀,火重了,造一个黑种人 ...
- 女娲造人?工厂模式?
阅读文本大概需要 8 分钟. 前言 明天就是元旦了,久一祝读者朋友元旦快乐呀.元旦假期,久一打算把Vue.js撸完,跟着我的脚步,感兴趣点击链接 看到倪升武大佬写了一篇不错的文章,分享给你,觉得文章 ...
最新文章
- J20170524-hm
- 基于zookeeper的高可用集群
- matlab dmodce,吧里有没有大神可以教我怎么改dmodce函数,用的matlab2012a版本
- 面试必问之JVM原理
- 信息学奥赛一本通 1002:输出第二个整数 | OpenJudge NOI 1.1 02
- 拜登政府冻结加密钱包规则以待审查 加密市场或迎来转机
- 服务器是怎么工作的?(一)——DHCP工作原理剖析
- Linux系统下poll的使用方式
- SQL SERVER 2008传递表值参数
- 本地Navicat连接虚拟机MySQL
- 图像形状特征(六)--AR模型形状描述子
- 百面机器学习—11.集成学习(GBDT、XGBoost)面试问题总结
- 网络工程师linux题,历年软考网络工程师Linux真题详解
- 标准正态分布怎么算_标准正态分布函数的快速计算方法
- 一个大一计算机学生的学期总结(2022下半年)
- android toast 自定义view,分享Android中Toast的自定义使用
- 网桥 网卡网桥有什么区别
- 一起学爬虫(Python) — 09
- cve-2021-22205复现
- 【项目管理】--- 时间管理 --- 缩短工期