博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象1
阅读量:7081 次
发布时间:2019-06-28

本文共 4369 字,大约阅读时间需要 14 分钟。

一、面向对象             1、类                 对象是特征与技能的结合体,那类就是一系列对象相同的特征与技能的结合体             2、在现实世界中:一定先有对象,后来随着人类文明的发展总结出的类对象是具体存在的,而类只是一种抽象概念             3、在程序中,务必保证:先定义类,后调用类来产生对象             现实生活中的对象:                 对象1:                     特征:                         school="Oldboy"                         name="马冬梅"                         age=18                         sex="female"                     技能:                         学习                         选课                 对象2:                     特征:                         school="Oldboy"                         name="甜蜜蜜"                         age=21                         sex="male"                     技能:                         学习                         选课                 对象3:                     特征:                         school="Oldboy"                         name="原石开"                         age=22                         sex="male"                     技能:                         学习                         选课             现实生活中的老男孩学生类:                  相同的特征                         school="Oldboy"                  相同的技能                         学习                         选课             1、程序中的类             class OldboyStudent:                 用变量表示特征                 school="Oldboy"                 stu1, "马冬梅", 18, 'female'                 def __init__(self,name,age,sex): #self=stu1     name= "马冬梅"   age=18     sex="female"                     # print('==========init run=============>')                     self.name=name # stu1.name = "马冬梅"                     self.age=age  # stu1.age = 18                     self.sex=sex  # stu1.sex = "female"                  用函数表示技能                 def learn(self):                     print('is learning...',self)                 def choose(self):                     print('choose course...')             在程序中:必须先定义类 - -----》调用类 - -----》对象             stu1=OldboyStudent()             stu1.NAME='马冬梅'             stu1.AGE=18             stu1.SEX="female"             stu2=OldboyStudent()             stu2.NAME='甜蜜蜜'             stu2.AGE=21             stu2.SEX="male"             stu3=OldboyStudent()             stu3.NAME='原石开'             stu3.AGE=22             stu3.SEX="male"             print(stu1.NAME,stu1.school)             print(stu2.NAME,stu2.school)             print(stu3.NAME,stu3.school)             上述产生的三个对象都一样了             调用类发生哪些事:             1、首先会产生一个空对象stu1             2、会自动触发类内部的__init__函数             3、然后将空对象stu1连同调用类时括号内的参数组成(stu1,"马冬梅",18,'female'),将这四个参数一起传给__init__函数             stu1=OldboyStudent("马冬梅",18,'female')    #OldboyStudent.__init__(stu1,"马冬梅",18,'female')             stu2=OldboyStudent("甜蜜蜜",21,'male')      #OldboyStudent.__init__(stu2,"甜蜜蜜",21,'male')             stu3=OldboyStudent("原石开",22,'male')             调用类---》产生类的对象,该对象也可以称为类的一个实例,调用类的过程也称为类的实例化             stu1=OldboyStudent('李三胖',18,'male') #OldboyStudent.__init__(stu1,'李三胖',18,'male')             OldboyStudent.country='CHINA'             print(OldboyStudent.country)             stu2=OldboyStudent('王大炮',28,'male')             print(stu2.__dict__)             类内部定义的变量是给所有对象共享,所有对象指向的都是同一个内存地址             类内部定义的函数,类可以使用,但类来用的时候就是一个普通函数,普通函数有几个参就传几个参数             类内部定义的函数,其实是给对象使用的,而且是绑定给对象用,绑定给不同的对象就是不同的绑定方法             绑定方法的特殊之处在于,谁来调用,就会将谁当作第一个参数自动传入             stu1.learn() # OldboyStudent.learn(stu1)             stu2.learn() # OldboyStudent.learn(stu2)             绑定方法的特殊之处:             1、 绑定给谁就应该由谁来调用,             2、谁来调用就会把谁当做第一个参数传入             class People:                 x=1                 def __init__(self,name,age,sex):                     self.name=name                     self.age=age                     self.sex=sex                 def run(self): #self=obj                     print('%s is running' %self.name) #obj.name                 def f1():                     print('from f1')                 def f2(self):                     pass             obj=People('egon',18,'male') #People.__init__(obj,'egon',18,'male')             obj1=People('egon1',18,'male') #People.__init__(obj,'egon',18,'male')             obj2=People('egon2',18,'male') #People.__init__(obj,'egon',18,'male')             print(People.f1)             People.f1()             print(obj.f1)             obj.f1() #People.f1(obj)             Python一切皆对象:在python3中统一了类与类型的概念,类即类型

转载于:https://www.cnblogs.com/zhaodafa/p/8795629.html

你可能感兴趣的文章
Android保持屏幕常亮
查看>>
JS-DOM2级事件对象跨浏览器处理(已封装)
查看>>
用户名和密码校验程序
查看>>
浅析Java RTTI 和 反射的概念
查看>>
Django中用户权限模块
查看>>
Android TransitionDrawable:过渡动画Drawable
查看>>
隐私浏览器 Tor Browser 8.0.7 发布,安全更新版本
查看>>
Veeam发布2016年业绩: 同比增长28%,预订总收入达6.07亿美元
查看>>
慧荣科技发布全球首款商用SD 5.1控制器解决方案
查看>>
spark 计算结果写入mysql 案例及常见问题解决
查看>>
杨博:医疗大数据服务任重道远
查看>>
Mysql复制技术中的主键冲突
查看>>
有源音箱和无源音箱的主要区别
查看>>
浅谈性能测试、压力测试和负载测试
查看>>
视频02.MediaPlayer和VideoView,TextureView的使用
查看>>
thinkphp-union
查看>>
Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例
查看>>
日本展示机器人Erica,看脸还不错
查看>>
一步一步搞定InfoPath(01)——提交表单到Access数据库
查看>>
SET 语句选项
查看>>