什么是类、什么是对象
程序员文章站
2022-06-04 15:10:25
...
1.什么是类、什么是对象
"""
- 官方定义
类就是拥有相等功能和相同的属性的对象的集合 -- 抽象的
对象就是类的实例 -- 具体 - 生活角度看类和对象
如果人是类,余婷就是对象、骆昊也是对象
如果电脑是类,我桌上的这两台电脑就是对象
"""
2.类的声明
"""
1)语法
class 类名:
类的内容
2)说明
class - 声明类的关键字
类名 - 标识符,不能是关键字
见名知义,采用驼峰式命名(采用通过单词首字母大写的方式来区分不同的单词),首字母大写
: - 固定写法
类的内容 - 主要包含: 类的说明文档、属性(普通的变量)、功能(函数/方法)
"""
3.对象怎么声明
"""
对象 = 类() - 创建指定的类对应的对象
"""
4.类中的方法
"""
1) 什么是方法:声明在类中的函数就叫方法
2) 类中的方法有三种:对象方法、类方法、静态方法
a. 对象方法: 直接声明在类中的函数
有默认参数self,通过对象调用的时候这个参数不用传参,因为系统会自动将当前对象传递给self。
(self,当前对象 - 谁调用self就指向谁,当前类的对象能做的事情self都能做)
通过类的对象来调用: 对象.对象方法()
b.类方法: 声明函数前加@classmethod
有默认参数cls, 通过类调用的时候这个参数不用传参,因为系统会自动将当前类传递给cls
(cls,当前类 - 谁调用就指向谁,当前类能做的事情cls都能做)
通过类来调用: 类.类方法()
c.静态方法:声明函数前加@staticmethod
没有默认参数
通过类来调用: 类.静态方法()
"""
声明一个Person类
class Person:
"""人类"""
# =========属性(字段/对象属性)==========
# =========方法==========
# ===============对象方法============
def eat(self, food):
# self = p1, food = '面条'
# self = p2, food = '火锅'
print('self:', self)
print('人吃'+food)
self.study('python')
def study(self, type):
# self = p1, type = 'python'
# self = p2, type = 'python'
print('学习'+type)
# ===============类方法================
@classmethod
def destroy(cls):
# cls = Person
# 通过cls创建对象
tp = cls() # tp = Person()
cls.func1() # Person.func1()
print('tp:', tp)
print('cls:', cls)
print('人类破坏环境')
@classmethod
def func1(cls):
# cls = Person
print('临时类方法')
# ===============静态方法================
@staticmethod
def beat_animal():
print('人类殴打小动物')
创建Person类的对象p1
p1 = Person()
p0 = p1
print(p1, p0)
p2 = Person()
p3 = Person()
print(p2)
对象调用对象方法
p1.eat('面条')
p1.study()
p2.eat('火锅')
类调用类方法
print(Person)
Person.destroy()
类调用静态方法
Person.beat_animal()