面向对象编程(仅适合有C艹,java语言基础)
- 针对大型软件设计而提出,支持代码复用和设计复用
定义类:所有类都是object类的子类
class 类名(object):
类属性声明
def__init__(self ,实参1,实参2):
声明实参
定义方法
示例:
lass employee():
cName='abc'
def __init__(self,eName='',salary=0.0):
self.eName=eName #公开
self.__salary=salary #私有
pass #pass关键字表示一个空的代码块
def getvalue(self):
return (self.cName,self.eName,self.__salary)
pass
构造方法:
类的构造函数是 init( self,属性1 ,属性 2 ),方法中定义的属性是实例属性
私有属性和方法:
见实例(真的没啥好讲的)
继承
与java语言的类是单根继承不一样,Python类既能够单继承,也能多继承(java类有一个爹,Python类有好多爹)
语法如下:class subClass(parentClass1,patentClass2,~):
经典子类调用父类构造函数的写法:parentClass.init(self, a, b, …….)
新式子类调用父类构造方法的写法:super(subClass ,self ).init(a ,b , c…)
重写父类方法
当父类方法无法满足需求时,进行重写
示例:
class Animal(object):
def __init__(self,Name):
self.Name=Name
def eat(self):
print("{0} eat cxk".format(self.Name))
class pig(Animal): #继承父类
def __init__(self,Name,hobby):
Animal.__init__(self,Name)
self.hobby=hobby
def eat(self):#重写方法
super().eat()
print("{0} eatbasketball,like{1}".format(self.Name,self.hobby))
pig1=pig('cxk','rap')
pig1.eat()
输出:
cxk eat cxk
cxk eat basketball,likerap
关于类方法和静态方法以及实例方法