世界一切 归于尘土

all is object

两大杀手锏:对象     类

三大武器:封装;继承;多态

#!/usrself=Nonepython
# -*- coding: utf-8 -*-
# @File : people.py
# @Author: wmy
# @Date : 2018/1/21
class Person:
aera = '地球'
def __init__(self,name,age):
self.name = name
self.age = age
def display_info(self):
print(" -->%s已经%d岁,"%(self.name,self.age))
print("现住在%s..."%self.aera)
p1 = Person('zhangsan',20)
p1.display_info()
以上给出了一个简单的类,其中p1为实例对象。
添加属性:
p1.sex = 'male'
打印结果如下:
 -->zhangsan已经20岁,
现住在地球...
male
python很容易对类的属性进行操作。
现在构造第二个对象:
p2 = Person('张天',40)
p2.display_info()

输出结果如下:
 -->张天已经40岁,
现住在地球...
公共类变量:节省存储空间
继承如下
class Teacher(Person):
def __init__(self,name,age,school):
Person.__init__(self,name,age)
self.school = school
def display_info(self):
Person.display_info(self)
print('%s在%s学校任职'%(self.name,self.school))
通过类似公共接口的父类info函数,实现多态。这是Java不能如此简单实现的。
class Person:
aera = '地球'
def __init__(self,name,age):
self.name = name
self.age = age
def display_info(self):
print(" -->%s已经%d岁,"%(self.name,self.age))
print("现住在%s..."%self.aera) @staticmethod
def info(obj):
obj.display_info() class Teacher(Person):
def __init__(self,name,age,school):
Person.__init__(self,name,age)
self.school = school
def display_info(self):
Person.display_info(self)
print('%s在%s学校任职'%(self.name,self.school)) class Doctor(Person):
def __init__(self,name,age,medicine):
Person.__init__(self,name,age)
self.medicine = medicine
def display_info(self):
Person.display_info(self)
print('%s在%s医院任职'%(self.name,self.medicine)) t = Teacher('马玉',20,'第二中学')
d = Doctor('赵慎',34,'华西医院')
t.display_info()
d.display_info()
print('-------------------------')
p = Person('福清',40)
p.info(t)
p.info(d)
结果如下:
 -->张丹已经20岁,
现住在地球...
张丹在第二中学学校任职
 -->扑打已经34岁,
现住在地球...
扑打在华西医院医院任职
-------------------------
 -->张丹已经20岁,
现住在地球...
张丹在第二中学学校任职
 -->扑打已经34岁,
现住在地球...
扑打在华西医院医院任职

小编带领大家学习了一下Python,这种语言面向编程相对Java和C++来说。简单许多哟!

OOP跟我来的更多相关文章

  1. c#面向对象基础技能——学习笔记(二)基于OOP思想研究对象的【属性】

    字段(成员变量): 字段只能从对象中访问实例字段,无法直接从类中访问(换言之,不创建实例就不能访问),可以理解为:字段一般用在内部数据交互使用,当需要为外部提供数据时,(要优先使用自动实现的属性而不是 ...

  2. 一个简单oop的changeTab

    好多地方都会用到这样一个效果“点击tab切换内容页”,根据自己的想法实现了一下,写了个简单的插件.以前写代码都是标准的函数式编程,现在觉得面向对象编程看起来比较爽,并且更容易维护,于是就用oop的思想 ...

  3. Python OOP(面向对象编程)

    一OOP的作用 在Python中,类是面向对象设计(OOP)的主要工具.通过使用类这种工具,OOP可以: 1.分解代码,最小化代码的冗余. 2.通过定制现有的代码,来编写新的程序,而不用在原处进行修改 ...

  4. OOP,WEB开发实用小技巧

    偶然读到一篇博客,记录一下心得.这种设计对于新手来说一般是想不到的,它充分的发挥了OOP语言的特性,让代码专用而清爽.这是不是重构的思想呢? 我们在写业务层的时候,有很多方法是重复功能的,我们就可以使 ...

  5. 从OOP的角度看Golang

    资料来源 https://github.com/luciotato/golang-notes/blob/master/OOP.md?hmsr=toutiao.io&utm_medium=tou ...

  6. 玩转JavaScript OOP[2]——类的实现

    概述 当我们在谈论面向对象编程时,我们在谈论什么?我们首先谈论的是一些概念:对象.类.封装.继承.多态.对象和类是面向对象的基础,封装.继承和多态是面向对象编程的三大特性. JavaScript提供了 ...

  7. Atitit 面向对象编程(OOP)、面向组件编程(COP)、面向方面编程(AOP)和面向服务编程(SOP)的区别和联系

    Atitit 面向对象编程(OOP).面向组件编程(COP).面向方面编程(AOP)和面向服务编程(SOP)的区别和联系 1. 面向组件编程(COP) 所以,组件比起对象来的进步就在于通用的规范的引入 ...

  8. iOS - 对OOA、OOD、OOP的理解

    很多人在求职的时候,会遇到一个这样的问题:“对OOD/OOP有较深的理解”,这个时候有人就会问OOD.OOP是什么呢?那么今天咱们就一块来看一下OOA.OOD.OOP到底是什么! (一)OOA--面向 ...

  9. OOP感悟

    行内讲的最多的就是出来一年内基本靠copy,一年后才基本懂得如何去写代码,而理解领悟oop,需要的时间却不定. 我工作中,我发现很多人拿着面向对相当的语言作者做着面向过程的事情,不需要知其所以然,只要 ...

随机推荐

  1. java 获取微信公众号code为空

    失败的原因是没将回调方法encode转换 /** * URL编码(utf-8) * * @param source * @return */ public static String urlEncod ...

  2. RecyclerView联动滑动失败

    RecyclerView联动滑动失败 我们在做Recyclerview联动滑动的时候,就是左边一个RecyclerView右边一个RecyclerView 我们希望左边的RecyclerView可以和 ...

  3. VUE基本常识

    1.运行vue项目  项目根目录git Bash here npm run dev 为了能直接打开项目  配置项目package.json   添加--open  如下图: 2.坑:VUE初写小项目问 ...

  4. 微信小程序分包跳转主包页面

    由于公司项目比较多,我们事业部的微信小程序就在一个分包里.那分包页面要回到主包的首页,该怎么跳转呢,有以下两种方法 wx.switchTab(Object object) 跳转到 tabBar 页面, ...

  5. composer常用的一些命令\参数\说明

    安装 curl -sS https://getcomposer.org/installer | php 或者 php -r "readfile('https://getcomposer.or ...

  6. ThinkPHP5.0源码学习之缓存Cache(一)

    一.文件 1.缓存配置文件:thinkphp\convention.php 2.缓存文件:thinkphp\library\think\Cache.php 3.驱动目录:thinkphp\librar ...

  7. xtratabcontrol控件的标签样式--文本的宽高

    Skin skin_ = TabSkins.GetSkin(DevExpress.LookAndFeel.UserLookAndFeel.Default.ActiveLookAndFeel); Ski ...

  8. VS2015+VisualSVN+TortoiseSVN安装及使用

    1. SVN 是什么 SVN 是 Apache Subversion 的缩写,是一个开放源代码的版本控制系.这些数据放置在一个中央资料档案库(repository) 中. 这个档案库很像一个普通的文件 ...

  9. CSAPP之阅读笔记-计算机系统漫游(1)

    最近在看CSAPP(深入理解计算机系统第二版),其实最新版是第三版.但是,我看了一下价格100多大洋,于是去老夫子旧书网上买了本第二版的,花了30多块钱.哈哈. 网上看了一些关于此书的书评,都说是本好 ...

  10. 利用content为伊特元素追加三个小点

    案例代码: <span class="seven"></span> <style type="text/css"> .sev ...