程序员都喜欢 面向对象编程,但如果你没有对象怎么办?当然是 new 一个对象出来。

面向对象编程 是一种程序设计思想,而不是真正的面向你的对象去编程。如果你真的这么做了,恭喜你获得:你爱我还是爱电脑? 的灵魂拷问。

1、什么是面向对象

我们上一节将我们常用的代码,封装成了一个函数。方便我们可以在任何想要使用它的地方,只需要简单调用,就能实现复杂的功能。面向对象编程 则是对一系列函数和变量的再次封装,它将一系列具有相似功能的函数或变量(这里应该叫做 属性)封装成一个 ,再通过 来new出来一个实体(即对象)。

2、类和对象

与我们传统意义上的种类相似。某一类的物体具有一系列相似的属性,我们称之为 。而 对象 则是某一个 的具体 实体(没有类就没有对象)。比如说:

男:那个...你喜欢什么类型的男孩子呢? 女:高、富、帅、爱我。 男:我挺符合的,那我可以做你的对象吗? 女:可以。

这里女生的择偶标准是一个抽象的概念,但有具体的属性:高、富、帅、爱我。这些标准抽象出来的一个不存在的对象就是 。而男生恰好符合女生的择偶标准,即这些属性都占有,那么男生就是通过女生的抽象的择偶标准new出来的一个 对象。我们来讲它转换为程序语言:

# 固定搭配class 类名(object):

self 虽然作为 init()sayLove() 的参数,在我们调用的时候,并没有传递这个参数。因为self表示对象自身,调用无需传递(吐槽一下,其他编程语言在定义函数的时候也不用写这个self,python多这么一个反而容易让初学者误解)。

我们再来贴一段属于程序员的 浪漫代码 (最近想要表白的小伙伴们准备划重点了)。

class 

self.变量名 表示调用这个对象的变量,self.函数名() 表示调用这个对象的函数。对象中的变量,我们称之为 属性,即这个对象有什么;对象中的函数,我们称之为 方法,即这个对象能干什么。

上面的while表示循环的意思,直到 while 后面isHesitate为False,才停止执行,否则,将一直执行下去。

3、封装一个圆锥对象

还记得上节课将圆锥表面积与体积封装成函数的作业嘛?今天我们来将它封装成对象吧。

import 

像这样,我们就封装好了一个圆锥的类。通过这个类,我们可以制造出来各种不同型号的圆锥(不同半径和高度),同时也可以很方便的得到它们的体积和表面积。

4、你有对象了吗?

没有对象的朋友们,快new一个对象吧。这样你就能面向对象编程了,多么幸福。但没车没房怎么办?小问题,留给大家一个作业,给自己new一辆车吧。

思路提示:先定义车有哪些属性:车型、颜色、马力等,其次定义车有哪些方法:前进、后退、拐弯、喇叭发出声音等。(尽情发挥你的想象力)


  • 总结

人类大脑最强大的地方在于可以对事物进行很好的抽象,抽象后归纳总结出经验来。面向对象编程 依照我们的抽象出来的 来构建一个个具有特定属性的对象,来简化繁杂的程序,同时也使代码更加简洁清晰。


未完待续

关注公众号【斜杠码农】,与你分享 程序员与代码 不得不说的故事。

换个视角学python,开开心心写程序。

object转成实体对象_程序员的浪漫,new一个对象相关推荐

  1. object转成实体对象_面向对象的TypeScript-序列化与反序列化(1)

    前言 面向对象编程离不开对象的序列化与反序列化.LS大法读取与保存是避不开的话题,开篇就从此入手通过一些场景来说明采用面向对象编程的一些可取之处. 代码仓库 第一章​github.com Demo L ...

  2. java实现心形图案|桃心_程序员的浪漫--java打印心形图案

    原标题:程序员的浪漫--java打印心形图案 谁说程序员不能浪漫 单纯的心 双心 加些点缀 代码所用方程: 心:((0.05*x)^2 + (0.1*y)^2-1)^3-(0.05*x)^2 * (0 ...

  3. python 程序员专属情话_程序员最浪漫情话

    程序员往往城还没攻下来,我们的头发就先掉下来! 程序员最浪漫情话: 段子一 "等我敲完这行代码,就和你离婚!" 他头也不抬的说 听完之后,她心里暖暖的 她想,这可能是最长情的承诺. ...

  4. object转成实体对象_Object.assign 原理及其实现

    编者按:本文转载自掘金专栏,由作者 木易杨说 授权奇舞周刊转载. 引言 上篇文章( https://github.com/yygmind/blog/issues/25 )介绍了赋值.浅拷贝和深拷贝,其 ...

  5. php算法求出一个数可以被分解成多少个_程序员的算法趣题

    计算机的世界每天都在发生着深刻的变化.新操作系统的发布.CPU性能的提升.智能手机和平板电脑的流行.存储介质的变化.云的普及--这样的变化数不胜数. 在这样日新月异的时代中,"算法" ...

  6. java写一个简单的浪漫代码_程序员的浪漫弹窗表白,圣诞节给Ta惊喜吧(附源码,简单易学哦)...

    不要以为程序员都是木讷的,浪漫起来也会让很多妹子心动的.而程序员的表白方式也很不一般,通过一堆代码,无限释放浪漫.今天教给大家通过改写脚本语言,利用弹窗可充分自由发挥,用来表白或者恶搞都是不错的选择. ...

  7. js 中转换成list集合_程序员:java集合介绍-List,具说很详细,你不来看看?

    Java集合介绍 作为一个程序猿,Java集合类可以说是我们在工作中运用最多.最频繁的类.相比于数组(Array)来说,集合类的长度可变,更加方便开发. Java集合就像一个容器,可以存储任何类型的数 ...

  8. java语言情话_程序员的浪漫:用 java 实现每天给对象法发情话

    一.引言 最近看到一篇用js代码实现表白的文章,深有感触. 然后发现自己也可以用java代码实现,然后就开始写代码了,发现还挺有意思的,话不多说开搞 实现思路: 使用HttpClient远程获取彩虹屁 ...

  9. Java说情话_程序员的浪漫:用 java 实现每天给对象法发情话

    一.引言 最近看到一篇用js代码实现表白的文章,深有感触. 然后发现自己也可以用java代码实现,然后就开始写代码了,发现还挺有意思的,话不多说开搞 实现思路: 使用HttpClient远程获取彩虹屁 ...

最新文章

  1. 组建核心团队时的困惑
  2. 投资狂人陈一舟:哪里火爆投哪里
  3. C#:invoke 与 BeginInvoke使用区别
  4. 同时支持EF+Dapper的混合仓储,助你快速搭建数据访问层
  5. 推荐我们在B站的生信程序基础课
  6. Y Combinator 创业课 2018 @北京
  7. 20.变量及数据类型
  8. 为什么我keepalive配置的vip不能通_企业十大应用-Keepalived-配置详解
  9. 怎么创建邮箱帐号?教育邮箱
  10. 光纤接入实现模式 P2P和PON。PON原理介绍。
  11. python猴子分桃子的数学题_python编程练习-分桃子
  12. 卖衣服有什么引流产品?微商卖衣服引流推广?
  13. COMSOL 专题学习
  14. 2018/2019款 MacBookPro 接口失灵的原因及解决方案
  15. 群晖DSM PT软件安装记录一:安装transmission
  16. 双硬盘多系统独立引导(2-Windows xp Win7)
  17. python入门之字符串索引,切片
  18. 计算机视觉基础--边缘检测
  19. 洛咕 P3964 [TJOI2013]松鼠聚会
  20. 阿里巴巴的程序员等级

热门文章

  1. 北理计算机考研机试,北理工计算机2000-2010考研机试题目c语言实现.doc
  2. spring 定时器设置停止_单片机MSP430入门-理论⑦--定时器模块-定时器A②
  3. 安装debian总结以及编译linux内核
  4. XXL-CONF v1.4.1 发布,分布式配置管理平台
  5. MDK中软仿真下Debug-(printf)Viewer
  6. Spring集成线程池
  7. 薛老师软考高项学员:2016年4月27日作业
  8. 一个由印度人编写的VC串口类
  9. Ubuntu Linux root password - default password
  10. 文化之旅(dijstra)