# Fine语言自定义类的定义与使用
# class是关键字,使用class关键字定义一个自定义类STUDENT
class STUDENT(object) #STUDENT类名,object(基类)父类
{
name = "" # 类属性1,属性必须赋初值,也可以赋值为空字符串"",不影响在生成对象时,再次赋值
sex = "" # 类属性2
age = "" # 类属性3
yuwen = "" # 类属性4
shuxue = "" # 类属性5
yingyu = "" # 类属性6
def average(self) # 类方法定义:self是类对象本身,定义时必须明示,调用时,则不用明示
{
return (self.yuwen+self.shuxue+self.yingyu)/3
}
def score(self)
{
return (self.yuwen+self.shuxue+self.yingyu)
}
}
a = STUDENT("黎明","男",18,95,99,80) # 生成一个对象a,并对其初始化
print("%\n",a.name) # 显示属性
print("%\n",a.sex)
print("%\n",a.age)
print("%\n",a.yuwen)
print("%\n",a.shuxue)
print("%\n",a.yingyu)
b = a.average() # 调用类方法时,默认的self参数就是a本身,调用时不用写出
print("%.2f\n",b) # 显示平均分数
c = a.score() # 同样,默认的self参数就是a本身,调用时不用写出
print("%.2f\n",c) #显示平均分数
# 注意1: 生成类对象时,初始化参数顺序必须与类定义顺序一致,不能错位,同时对所有类属性赋值。
# 注意2:在Fine语言中,不需要显式的构造函数,在生成类对象时,自动对成员属性赋值。
# 注意3:class定义之外,不可以添加属性或方法。
# 注意4:不可以单独对某个属性赋值(例如:不可以使用 a.name = "张三" 对属性name赋值)。