python
面向对象设计
类:是一个对象,可以包含类属性,函数成员。表示方式 class 类名 (基类名)。
示例:定义一个学生类,然后使用类中属性和函数,以及像类中添加属性操作。
#新增学生类
class Student:
#姓名属性
name='大圣归来'
#年龄属性
age=20
#性别属性
sex='男'
def area(self,previous,city):
#获取省
self.p=previous
#获取市
self.c=city
print('我是'+str(self.p)+','+self.c)
#类实例化
s=Student()
#调用函数对象,并对对象传参数
s.area(previous='江苏',city='宿迁')
print(s.name)
#向学生类添加一个属性
s.a='泗洪县'
print(s.a)
结果
类里面有很多方法: 类方法:需要用@classmethod来标识。实例中,类方法通常用self来标识,标识示例的对象。静态方法用@staticmethod来标识。注:静态方法不需要参数。
示例
class Person:
name='大圣'
def __init__(self,sex):
self.sex=sex
#类方法标识
@classmethod
def create(cls):
print('create:',Person.name)
#静态方法标识
@staticmethod
def staticclass():
print('staticclass:',Person.name)
def go(self):
print('go:',self.sex)
print('go',Person.name)
#实例化,顺便给sex赋值
p=Person(sex='男性')
print(p.sex)
#类方法调用
Person.create()
p.create()
#调用静态类
Person.staticclass()
p.staticclass()
p.go()
结果
类的继承:子类继承父类,包含父类的属性和方法,还可以继续写自己特有的属性或者方法。
示例
#基类
class Person:
#基类属性
head='头'
body='身体'
footer='脚'
def __init__(self,id,summary):
self.id=id
self.summary=summary
#子类
class boy(Person):
#子类属性
name='大圣'
sex='男'
age='500岁'
#子类方法
def active(self,dance):
self.dance=dance
print(self.name+'今年'+self.sex+'还是个'+self.sex)
print(self.head+'大'+self.footer+'小'+self.body+'虚,竟然还在'+dance)
class girl(Person):
#子类属性
sex='妹纸'
#子类方法
def hobby(self):
print('这个'+self.sex+'不简单,还会跳舞')
p=Person('123','我是基类')
print(p.head,p.body,p.footer)
b=boy('b','boy')
#子类调用父类属性和方法
print(b.head,b.body,b.footer,p.id)
b.active(dance='跳舞')
g=girl('g','girl')
print(g.summary,g.sex)
g.hobby()
结果
结序
面向对象主要封装,继承,多态。多态是一直行为多种表现方式。如叫,喵叫,狗叫等。继承即上述所述。封装,把一些通用的或者公用的抽象出来。在程序设计过程中一般封装和多态贯穿整个程序设计。
如有错误请联系更改:微信 sy157715743