首页 > 编程语言 > 详细

Python中用类实现对象和封装

时间:2021-03-15 00:08:44      阅读:22      评论:0      收藏:0      [点我收藏+]
"""
    用类实现对象和封装
对象:对应客观世界的事物,将描述事物的一组数据和与这组数据有关的操作封装在一起,
形成一个实体,这个实体就是对象
类:具有相同或相似性质的对象的抽象就是类
forexample:汽车是一个类,则具体一辆汽车就是一个对象
面向对象编程的特点:
    1.封装性
        封装是指将数据与具体操作的实现代码放在某个对象内部,使这些代码的实现细节
不被外界发现,外界只能通过接口使用该对象,而不能通过任何形式修改对象内部
实现,正是由于封装机制,程序在使用某一对象时不需要关心该对象的数据结构细
节及实现操作的方法。使用封装能隐藏对象实现细节,使代码更易维护,同时因为
不能直接调用、修改对象内部的私有信息,在一定程度上保证了系统安全性。类通
过将函数和变量封装在内部,实现了比函数更高一级的封装。
    2.继承性
        继承来源于现实世界,一个最简单的例子就是孩子会具有父母的一些特征,即每个
孩子都会继承父亲或者母亲的某些特征,当然这只是最基本的继承关系,现实世界中还存在
着更复杂的继承。继承机制实现了代码的复用,多个类公用的代码部分可以只在一个类中提
供,而其他类只需要继承这个类即可。
    3.多态性
        多态通常是指类中的方法重载,即一个类中有多个同名(不同参数)的方法,方法
调用时,根据不同的参数选择执行不同的方法。
"""


# 多态性
class Animal:

    def kind(self):
        print("i am animal")


class Dog(Animal):

    def kind(self):
        print("i am a dog")


class Cat(Animal):

    def kind(self):
        print("i am a cat")


class Pig(Animal):

    def kind(self):
        print("i am a pig")


# 这个函数接收一个animal参数,并调用它的kind方法
def show_kind(animal):
    animal.kind()


"""
狗、猫、猪都继承了动物类,并各自重写了kind方法。show_kind()函数接收一个animal参
数,并调用它的kind方法。可以看出,无论我们给animal传递的是狗、猫还是猪,都能正确
的调用相应的方法,打印对应的信息。这就是多态。
"""
d = Dog()
c = Cat()
p = Pig()

show_kind(d)
show_kind(c)
show_kind(p)

# 创建类与对象
"""
class 类名:
    类的属性(成员变量)
    ...
    类的方法(成员方法)
    ...

类名:类的名称,通常他的首字母大写
属性:用于描述事物的特征,如人的姓名、年龄等
方法:用于描述事物的行为,如人具有说话、微笑等行为
"""


class Dog:
    num = 0  # 类变量

    def __init__(self, id=0, color="yellow"):  # 构造方法
        self.id = id
        self.color = color

    def enjoy(self):  # 成员方法
        print("wangwang")

    def show(self, weight):
        print("重量{}公斤".format(weight))
        print("id:{},颜色:{}".format(self.id, self.color))


dog1 = Dog(color="grey")  # 构造dog1对象
dog1.weight = 52  # 为类添加属性
dog1.show(dog1.weight)
dog1.enjoy()
dog2 = Dog("101", "black")
dog2.weight = 55
dog2.show(dog2.weight)
# 构造方法和析构方法
"""
Python的类提供了两个比较特殊的方法:__init__()和__del__(),分别用于初始化对象的
属性和释放对象所占用的资源
"""


class Dog:
    def __init__(self):  # 构造方法
        self.color = "black"

    def show(self):
        print("id:{},颜色:{}".format(self.id, self.color))

    def __del__(self):
        print("对象被清除")


dog = Dog()
dog.id = 1
dog.show()
del dog  # 删除dog对象

 

Python中用类实现对象和封装

原文:https://www.cnblogs.com/daibeisi/p/14532065.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!