"""
类的创建:
类:是从现实的事务中抽象出来的
类的创建格式:
class 类名():
class是关键字,必须这么写,而且要顶格写
类名:就是为类取一名字,就是标识符的一种,而且要见名知意
类变量:对所有的对象都通用
实例变量:针对每个对象进行处理的,self.xxx
局部变量:
对象:
实例化:
封装:把不想对外公开的属性和行为私有化,但是在某些情况下又需要对外开放访问接口(方法)
私有变量:只能在类的内部进行调用,方法之间调用,通过对象是不能直接访问到的
定义变量的时候,在变量名的前面加上两个下划线,改变了就是私有的了
怎样对外开放访问接口?
在类中提供一个方法对setxxx、getxxx方法分别对外提供设置和查看私有变量的接口
创建方法:
构造方法:__init__(self)
作用:帮我们对属性进行初始化
使用:创建对象的时候,自动调用这个方法,完成数据初始化
说明:
1、如果类中不显示写出__init__(self),默认就是存在无参数的构造方法
2、如果勒种显示写出__init__(self),那也没问题,但是此时其他方法需要用到的属性必须初始化赋值,而不是从外部输入
普通方法:
作用:就是显示面向过程的具体逻辑(具体实现功能)
使用:创建完对象,要通过对象名调用的
一般情况下,在你写的任何一个.py文件中,都要加上:if __name__="__main__":,把你的测试、调试代码卸载if语句的代码块中
"""
# 创建人类:
from typing import AsyncGenerator
class person():
# 通过构造方法,来初始化实例变量
def __init__(self, name, age, height, weight,
gender): #定义的局部变量,使用简明质疑方式命名,作用域:这个方法
# 定义实例变量,使用局部变量进行初始化(赋值)
self.name = name
self.__age = age
self.height = height
self.weight = weight
self.gender = gender
# def __init__(self):
# self.name ='allen' 此时其他方法需要用到的属性必须初始化赋值,而不是从外部输入
# 定义类中一个普通方法
def printInfo(self):
print(self.name)
def study(self):
print("%s学习软件测试" % self.name)
# 提供对外访问age这个私有变量的接口
def getAge(self):
return self.__age
# 提供对外设置age这个私有变量的接口
def setAge(self, Age):
self.__age = Age
# 创建对象
xm = person("xm", 14, 150, 120, "男")
xm.printInfo()