1.什么是封装?
1.封装是面向对象编程的一大特点; 2.是面向对象编程的第一步 将属性和方法封装到一个抽象的类中; 3.在广义上:外界使用类创建对象,然后让对象调用方法, 在狭义上:定义私有成员(私有变量和私有方法); 4.对象方法的细节都被封装在类的内部。
2.封装的原则
1.将不需要对外提供的内容都隐藏起来;
2.隐藏对象的属性和实现细节,提供公共方法对其访问。
什么叫私有?
在python中,用双下划线开头的方式将属性隐藏起来,不能在类外面去引用它,这就叫做私有。(这里简单提一下,后面的博客再举例)
3.实例
例1.
.
首先分析需求,发现这里只需要一个类,暂且定义为人类。
其次,这里的对象应该有两个属性:名字和体重。
最后,方法也应该有两个:跑步和吃东西
那么,可以试着写代码:
class Person():
def __init__(self, name, weight):
self.name = name
self.weight = weight
def __str__(self):
return '名字叫:%s,体重为:%s' %(self.name,self.weight)
def run(self):
self.weight -= 0.5
def eat(self):
self.weight += 1
xiaoming = Person('小明', 75.5)
xiaoming.run()
xiaoming.eat()
print(xiaoming)
效果如下:
例2.
分析思路和上面的例题是一样的,只不过这里多了一个对象。
如图: