python---核心知识12之面向对象三大特性补充

多态的概念:所谓多态,在我们日常生活中有很多体现,比如说动物都有吃东西的行为,但是猪吃东西和鸡吃东西是不是不一样,这两个类别同属于一个动物类,但是各自对于同一行为的表现形式不一样,这其实就是多态;在代码里面其实就是在继承的前提下,不同的子类去调用父类同一个方法,产生不同的结果,这就是多态

python中的多态;python语言是属于动态语言,也就是duck鸭子语言。只要一个对象,会游泳,会走,会叫,那就可以把它当成鸭子处理,关注点在于对象的行为和属性,而非对象的类型,所以在python中,没有真正意义上的多态,也不需要多态;因为不用多态这种机制就可以实现出多态这种结果,所以python并不需要多态;

所以其实在python里面的面向对象,其实;最终只有两大特性,就是封装和继承;最后我们再来补充两个概念,就是抽象类以及抽象方法;

抽象类:就是对普通类的一种抽象;比如说小猫,小狗这两个类,他们都有叫的动作,吃的动作,那我们就可以抽象出一个动物类;这个动物类就是抽象类,动物类具有叫,吃的动作,但是每种动物的具体动作也是不一样的,我们就把吃,叫这两种动作也抽象出来,这样的方法就叫做抽象方法,并且所有的子类必须实现抽象方法;

通过下面的代码我们可以看出,抽象类和抽象方法需要导入abc模块,抽象类需要设置它的元类为abc.ABCMeta,抽象方法或者抽象属性也要加装饰器;

最后我们在写一个面向对象的例子:有三个类:猫,狗都有姓名,年龄的属性;猫狗有吃睡玩同样的动作,猫有抓老鼠特殊的工作技能,狗有看家的特殊技能,然后人有宠物这个特殊属性,可以让所有的宠物玩和工作,这就是大概的需求,下面贴出代码:

代码里面都写有注释啥的,就不详细介绍了;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • @(python)[笔记] 目录 前言 在python中,一切皆对象面向对象的程序设计的核心就是对象;面向对象的程...
    CaiGuangyin阅读 3,709评论 0 5
  • java继承 继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。 继承就是子类继...
    863cda997e42阅读 3,947评论 0 1
  • 一,目标:2017年8--12月摄影工作室净利润七万元 二.好种子快速开花的条件 1.做事之前调整发心:希望借由我...
    427567be5e1b阅读 1,449评论 0 0
  • 一·思路 服务器端:首先是服务端思路,第一步需要告诉用户服务端的ip地址,端口号,第二步需要告诉服务器可以接受的最...
    两点半的杂货铺阅读 3,047评论 1 9
  • 百里桃花灼灼, 你是住在谁心里不安又明亮的梦? 千回百转, 逃不过, 今生的牵绕。 眼波盈盈, 你是满夏茂盛而笃定...
    清若阅读 3,860评论 9 6