#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() #当实例方法重写时调用之类(方法重写:父类与子类里面方法相同功能不同,而多态:在不同的子类里面有相同的实例方法名)
面向对象编程
最新推荐文章于 2023-12-30 14:15:00 发布
2718

被折叠的 条评论
为什么被折叠?



