简单理解
"""
面向对象:
程序 现实中
对象 具体的事物
现实中的事物 ----> 转换成电脑程序
世间万物皆是对象
好处:
类
对象
属性
方法
对象:
A的手机
B的手机
C的手机
....
对象的集合 ----> 共同的特征
特征:品牌 颜色 大小 价格 ---> 属性
动作:打电话 发短信 上网 ---> 方法
类别: 手机类
多个对象 ---> 提取对象的共同特征和动作 --->封装到一个类中
"""
"""
class 类名[(父类)]:
属性 :特征
方法 :动作
"""
class Phone:
brand = '华为'
print(Phone)
yp = Phone()
print(yp.brand)
yp.brand = 'iphone'
print(yp.brand)
xy = Phone()
print(xy.brand)
定义类和属性
class Student:
name = 'xiaoyun'
age = 2
xiaoyun = Student()
print(xiaoyun.name, xiaoyun.age)
xiaoyun.age = 18
print(xiaoyun.name, xiaoyun.age)
xiaoyong = Student()
print(xiaoyong.name, xiaoyong.age)
xiaoyong.name = 'xiaoyong'
xiaoyong.age = 20
print(xiaoyong.name, xiaoyong.age)
Student.name = ''
Student.age = 18
xiaohua = Student()
print(xiaohua.name, xiaohua.age)
类的方法
"""
普通方法格式:
def 方法名(self[,参数,参数]):
pass
"""
class Phone:
brand = 'xiaomi'
price = 1999
type = '11'
def call(self):
print(f'self---->{self}')
print('正在打电话.....')
phone1 = Phone()
print(phone1, '--------1-------')
print(phone1.brand)
phone1.call()
print('*' * 30)
phone2 = Phone()
print(phone2, '--------2-------')
phone2.call()
class Phone:
def __init__(self):
self.brand = 'xiaomi'
self.price = 5000
def call(self):
print(f'------->call')
print(f'价格:{self.price}')
print('正在打电话.....')
p = Phone()
p.call()
p1 = Phone()
p1.call()
p1.price = 1000
p1.call()
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def eat(self):
print(f'{self.name}正在吃红烧肉')
def run(self):
print(f'{self.name}今年{self.age}岁,正在跑步')
p = Person('lxy', 18)
p.eat()
p.run()
p1 = Person('xy', 19)
p1.eat()
p1.run()
类方法
"""
特点:
1.定义需要依赖装饰器@classmethod
2.类方法参数中不是一个对象,而是类
3.类方法中只可以使用类属性
4.类方法中不能使用普通方法
类方法的作用:
只能访问类属性和类方法,所以可以在对象创建之前,如果需要完成一些功能
就可以通过类方法实现
"""
class Dog:
def __init__(self, nickname):
self.nickname = nickname
def run(self):
print(f'{self.nickname}在院子里跑来跑去')
@classmethod
def test(cls):
print(cls)
Dog.test()
d = Dog('大黄')
d.run()
class Person:
__age = 18
def show(self):
print('----->', Person.__age)