创立类:
class Person(): pass
创立实例:
variable = Person()
给实例绑定属性,例如绑定name和age:
def __init__(self,name,age): self.name = name self.age = age
案例
class Person(): def __init__(self,name,age): self.name = name self.age = ageba = Person('python',10)print(ba.name,ba.age)
在类中封装方法:
增加一个打印的方法printPerson(self)
class Person(): def __init__(self,name,age): self.name = name self.age = ageba = Person('python',10)def printPerson(self): print(self.name,self.age)
调用该方法
printPerson(ba)
Python中,在变量前加上两个下划线__,即私有变量,相当于Java中private。如下把name设置为私有,age不变,则name外部不可直接访问。
def __init__(self,name,age): self.__name = name self.age = age
外部如需获取私有变量__name,可在Person类中定义get_name()方法,相当于Java中的get方法如:
class Person(): def __init__(self,name,age): self.__name = name self.age = age#get方法 def get_name(self): return self.__nameba = Person('python',10)print(ba.get_name())
外部如需修改私有变量__name,同样可在类中定义set_name()方法,相当于java中的set方法,可以看到以下代码,初始化变量ba的name = python,将ba.set_name = java,最后打印出的结果name值为”java“,如:
class Person(): def __init__(self,name,age): self.__name = name self.age = age#get方法 def get_name(self): return self.__name#set方法 def set_name(self,name): self.__name = nameba = Person("python",1)ba.set_name("java")print(ba.get_name())
继承是指子类继承父类的特征和行为,如有 父类Animal,子类Cat,Cat继承Animal:
Java版
class Cat extends Animal{}
Python版
class Cat(Animal):
Python中继承与多态的思想与Java的并无两样。
多态是指同一个行为具备多个不同体现形式或者形态的能力。