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

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

面向对象思想

的必须有对象及其相互之间关系的语言成分。这些程序设计语言可以归纳为以下几类:系统中一切事物皆为对象;对象是属性及其操作的封装体;对象可按其性质划分为类,对象成为类的实例;实例关系和继承关系是对象之间的静态关系;消息传递是对象之间动态联系的唯一形式,也是计算的唯一形式;方法是消息的序列。

类:具有相同特征(属性和行为)事物的抽象

例:狗是一类

对象:某个类的具象

例:我家的大白(大白是一只狗)

类体:两部分:变量部分,方法(函数)部分

class Person:    mind="有思想的"           # 变量部分,静态变量,静态字段    work="会工作的"    money="会赚钱,也会花钱的"    def like(self):           # 方法部分,函数,动态变量        print("喜欢台球")    def dream(self):        print("有理想的")    def die(self):        print("会死亡的")
class Person:    mind="有思想的"              work="会工作的"    money="会赚钱,也会花钱的"    def like(self):                 print("喜欢台球")    def dream(self):        print("有理想的")    def die(self):        print("会死亡的")print(Person.__dict__){
'__module__': '__main__', 'mind': '有思想的', 'work': '会工作的', 'money': '会赚钱,也会花钱的', 'like':
, 'dream':
, 'die':
, '__dict__':
, '__weakref__':
, '__doc__': None}
class Person:    mind="有思想的"           # 变量部分,静态变量,静态字段    work="会工作的"    money="会赚钱,也会花钱的"    def like(self):           # 方法部分,函数,动态变量        print("喜欢台球")    def dream(self):        print("有理想的")    def die(self):        print("会死亡的")print(Person.__dict__["work"])会工作的
class Person:    mind="有思想的"           # 变量部分,静态变量,静态字段    work="会工作的"    money="会赚钱,也会花钱的"    def like(self):           # 方法部分,函数,动态变量        print("喜欢台球")    def dream(self):        print("有理想的")    def die(self):        print("会死亡的")print(Person.mind)有思想的

注意:变量部分不可以增删改查

 

class Person:    mind="有思想的"           # 变量部分,静态变量,静态字段    work="会工作的"    money="会赚钱,也会花钱的"    def like(self):           # 方法部分,函数,动态变量        print("喜欢台球")    def dream(self):        print("有理想的")    def die(self):        print("会死亡的")Person.__dict__["money"]="百万先生"print(Person.__dict__["money"])结果:报错
class Person:    mind="有思想的"           # 变量部分,静态变量,静态字段    work="会工作的"    money="会赚钱,也会花钱的"    def like(self):           # 方法部分,函数,动态变量        print("喜欢台球")    def dream(self):        print("有理想的")    def die(self):        print("会死亡的")Person.love="有爱的"Person.work="不会工作的"del Person.mindprint(Person.__dict__)print(Person.mind)

综上:

语法

  • 定义类需要使用关键字:class

  • 类名:原则上只要符合标识符的命名规范即可,但是我们通常每个单词首字母大写命名.例如:Person

  • 不要忘记类名后面的冒号"  :  "

self:

class Person:    mind="有思想的"           # 变量部分,静态变量,静态字段    work="会工作的"    money="会赚钱,也会花钱的"    def like(self):           # 方法部分,函数,动态变量        print("喜欢台球")    def dream(self):        print("有理想的")    def die(self):        print("会死亡的")Person.dream(11)  #()中必须有一个值
操作类中的方法 :增,删,改,查
class Person:    mind="有思想的"           # 变量部分,静态变量,静态字段    work="会工作的"    money="会赚钱,也会花钱的"    def like(self):           # 方法部分,函数,动态变量        print("喜欢台球")    def dream(self):        print("有理想的")    def die(self):        print("会死亡的")Person.age="18"print(Person.__dict__)           #增del Person.likeprint(Person.__dict__)           #删Person.like="美女"print(Person.__dict__)           #改Person.dream(11)                 #查
类名的角度 操作类中的静态变量  1, Person.__dict__ 查询类中的所有的内容 (不能进行增删改操作)  2, 万能的  .  对类中的单个的变量进行增删改查,用 万能的 点
类名+()的这个过程:实例化的过程(创建一个对象的过程), Person() 实例化对象,实例,对象
class Person:     mind="有思想的"     work="会工作的"     money="会赚钱,也会花钱的"     def __init__(self):         print(self)         print(666)     def like(self):         print("喜欢台球")     def dream(self):         print("有理想的")     def die(self):         print("会死亡的") ret=Person() print(ret)
 
1, 类名+()产生一个实例(对象,对象空间.) 2, 自动执行类中的__init__方法,将对象空间传给__init__的self参数, 3, 给对象封装相应的属性. print(ret.__dict__)
对象的角度:
class Person:    mind="有思想的"    work="会工作的"    money="会赚钱,也会花钱的"    def __init__(self,name,age,hobby):        self.name=name        self.age=age        self.hobby=hobby    def like(self):        print("喜欢台球")    def dream(self):        print("有理想的")    def die(self):        print("会死亡的")ret=Person("xiaomin",18,"打篮球")print(ret)print(ret.__dict__) <__main__.Person object at 0x000001ADFFCE13C8> {'name': 'xiaomin', 'age': 18, 'hobby': '打篮球'}
 
操作对象中的静态变量(增删改查)
class Person:    mind="有思想的"    work="会工作的"    money="会赚钱,也会花钱的"    def __init__(self,name,age,hobby):        self.name=name        self.age=age        self.hobby=hobby    def like(self):        print("喜欢台球")    def dream(self):        print("有理想的")    def die(self):        print("会死亡的")ret=Person("xiaomin",18,"打篮球")print(ret.name)            #查ret.high=175        print(ret.__dict__)        #增 del ret.nameprint(ret.__dict__)        #删ret.age=28print(ret.__dict__)        #改
 
对象操作类中的静态变量 : 只能查询
# class Person:#     mind="有思想的"#     work="会工作的"#     money="会赚钱,也会花钱的"#     def __init__(self,name,age,hobby):#         self.name=name#         self.age=age#         self.hobby=hobby#     def like(self):#         print("喜欢台球")#     def dream(self):#         print("有理想的")#     def die(self):#         print("会死亡的")# ret=Person("xiaomin",18,"打篮球")# print(ret.mind)
 
对象调用类中的方法  (工作中 通过对象执行类中的方法,而不是通过类名)
class Person:    mind="有思想的"    work="会工作的"    money="会赚钱,也会花钱的"    def __init__(self,name,age,hobby):        self.name=name        self.age=age        self.hobby=hobby    def like(self):        print(self)        print("喜欢台球")    def dream(self):        print("有理想的")    def die(self):        print("会死亡的")ret=Person("xiaomin",18,"打篮球")ret.like()print(ret)<__main__.Person object at 0x0000014CB4D81400>喜欢台球<__main__.Person object at 0x0000014CB4D81400>
 
class Person:    mind="有思想的"    work="会工作的"    money="会赚钱,也会花钱的"    def __init__(self,name,age,hobby):        self.name=name        self.age=age        self.hobby=hobby    def like(self):        print("%s喜欢台球" % self.name)    def dream(self):        print("有理想的")    def die(self):        print("会死亡的")ret=Person("xiaomin",18,"打篮球")ret.like() xiaomin喜欢台球

 

转载于:https://www.cnblogs.com/chenyibai/articles/9355382.html

你可能感兴趣的文章
几种排序方法
查看>>
查看数据库各表的信息
查看>>
第一阶段测试题
查看>>
第二轮冲刺第五天
查看>>
图片压缩
查看>>
Hadoop-2.6.5安装
查看>>
ES6思维导图
查看>>
第四周作业
查看>>
20151121
查看>>
线段重叠 (思维好题)
查看>>
Codeforces Round #413 C. Fountains (线段树的创建、查询、更新)
查看>>
SBuild 0.1.5 发布,基于 Scala 的构建系统
查看>>
WordPress 3.5 RC3 发布
查看>>
DOM扩展札记
查看>>
primitive assembly
查看>>
浅谈localStorage的用法
查看>>
Ad Exchange基本接口和功能
查看>>
Angular ui-router的常用配置参数详解
查看>>
软考知识点梳理--项目评估
查看>>
把特斯拉送上火星的程序员,马斯克!
查看>>