#9.1定义一个矩形类,包含2个数据成员(属性参数):宽度和高度:该类提供2种方法(功能函数):求面积和周长 class Rectangle: #定义一个矩形类Rectangle #(1)定义初始化方法 def __init__(self,width,height): #至少有一个参数self(对象属性),并放在第一个位置 self.width=width #给实体属性成员赋值(将实参传递给形参) self.height=height #定义实体方法 def getArea(self): S = self.width * self.height #在内部访问属性前面要添加self return S def getPerimeter(self): C= 2 * (self.height+self.width) return C #二·创建类对象(相当于函数的调用) rect = Rectangle(3,4) print("矩形的长",rect.width) #调用(访问)实例属性,在属性前面添加对象名,方法() print("矩形的宽",rect.height) print("矩形的面积",rect.getArea()) #访问实例方法,在前面添加对象名,方法() print("矩形的周长",rect.getPerimeter()) #三·类的属性(变量) #1.实例属性:在方法内部通过“self。属性变量名”定义和访问的变量(在外部通过“对象名。变量名”名访问) #2.类属性:在所有方法之外的属性(变量) #四·类的方法(函数) #1.定义:与类相关的函数 #类型:实例方法,类方法,静态方法 # 3.实例方法:至少包含一个对象参数,在内部通过“self.方法()”调用,在外部通过“对象名。方法名()”调用 #五·类的继承。重写与多态 #1.继承:子类继承父类的方法 #2.重写:子类可以重写子类的方法(方法名称相同) #3.多态:子类中方法名称相同但功能不同 #4.实例如下: #创建一个父类Person class Person: #(1)初始方法 def __init__(self,name,age,sex): self.name=name self.age=age self.sex=sex #(2)实例方法 def study(self): print(self.name,"正在学习") def show(self): print("姓名:{}\n年龄:{}\n性别:{}\n".format(self.name,self.age,self.sex)) #定义一个子类student class Student(Person): #创建父类person的一个子类Student def __init__(self,name,age,sex,major): # self.name=name # self.age=age # self.sex=sex super().__init__(name,age,sex)#用内置方法super(),实现父类成员的继承 self.major=major #添加成员(重写) def show(self): Person.show(self) #用Person(父类名方法)来继承实例方法 print("专业:",self.major) #添加实例方法功能(重写方法) #创建类对象 s = Student("屈靖航","20","boy","数字科学") #调用方法 s.study() #父类方法完全继承到子类 s.show() #当实例方法重写时调用之类(方法重写:父类与子类里面方法相同功能不同,而多态:在不同的子类里面有相同的实例方法名)
面向对象编程
最新推荐文章于 2024-11-08 13:43:44 发布