---恢复内容开始---
Python里的类
- 对象=属性+方法;
- 对象的属性主要是指主要的特征和参量,而方法主要是指函数;
- 类是一个具有一定特征和方法的集合,而对象是类的一个;类和对象的关系就如同模具和用这个模具制作出的物品之间的关系。一个类为它的全部对象给出了一个统一的定义,而他的每个对象则是符合这种定义的一个实体,因此类和对象的关系就是抽象和具体的关系
- 类的创立一般以大写字母为开头
类的创立举例如下:
class Turtle:
%特征参量:
color = "green"
weight = 10
legs = 4
shell = True
mouth = "大嘴"
%方法
def climb(self):
print("我正在很努力地向前爬...")
def run(self):
print("我正在飞快地向前跑...")
def bite(self):
print("咬死你咬死你")
def eat(self):
print("有得吃,满足")
def sleep(self):
print("困了,睡觉了...")
- OO:面向对象(Object Oriented),python是一种纯粹的面向对象的编程语言
- 面向对象编程的特征:
(1)封装:对外部隐藏对象的工作细节
(2)继承:子类自动共享父类之间数据和方法的机制
(3)多态:可以对不同类的对象调用相同的方法,产生不同的结果
例如:
>>> class Mylist(list): %继承
pass
>>> list2=Mylist()
>>> list2.append(2)
>>> list2
[2]
>>> class A:
def fun(self):
print("woshixiaoa")
>>> class B:
def fun(self):
print("woshixiaob")
>>> a=A()
>>> b=B()
>>> a.fun() %多态
woshixiaoa
>>> b.fun()
Woshixiaob %整体封装
三者之间的关系如下图所示:
7、举例:属性:长和宽版权
方法:设置长和宽 -> setRect(self),获得长和宽 -> getRect(self),获得面积
-> getArea(self)提示:方法中对属性的引用形式需加上
self,如 self.width
实现如下:
class Rectangle:
length = 5
width = 4
def setrect(self):
print("请输入矩形的长和宽...")
self.length =
float(input("长:"))
self.width =
float(input("宽:"))
def getrect(self):
print("这个矩形的长是:%.2f 宽是:%.2f" %
(self.length, self.width))
def getarea(self):
c =self.length * self.width
print(c)
a = Rectangle()
a.setrect()
a.getrect()
a.getarea()