Python 自学笔记----1.1实例与封装

Python 自学笔记----1.1实例与封装

  • 背景描述
  • 封装
    • 实例
  • 总结
    • 代码地址
  • 感悟

背景描述

初次了解了类与对象后,就可以深入学习一些面向对象的特性了:封装,继承,多态之

封装

首先还是需要从类开始,一下是劳模类:平面图形.这次稍作修改,删除了获取对象名字的方法,改成了’封装好了’的获得图形边数的方法,嗯,虽然,确实,真的封装的比较生硬,见谅:

class PlaneFigure(object):
    def __init__(self, name_input):  # 此处的 init 两侧有两个下划线
        self.name = name_input

    # 封装,在此处封装了判断边的方法,对外界来说不需要知道计算过程,只需要
    # 输入名字比如'三角形',就可以得到这个平面图形有三条边
    # 注:这里封装了,照抄就行,不需要知道过程是什么原理嗯~ o(* ̄▽ ̄*)o
    def get_sides_number(self):
        # 知道下也不是坏事:
        # == 表示判断两边是否相等
        # if 后面的语句计算结果如果是成立的,就执行冒号后面缩进的语句块
        if self.name == '三角形':
            print(self.name, '有三条边')

实例

这次新建一个三角形的实例对象,对象的变量名的主要作用就是做内存地址的’助记符’,指向了内存地址

# import class
from bCapsulation.PlaneFigure import PlaneFigure

triangle = PlaneFigure('三角形')

# 打印一下类和变量
print('PlaneFigure is ', PlaneFigure, ';\nand triangle is ', triangle)

运行结果为:

PlaneFigure is   ;
and triangle is  

这里可以看到 PlaneFigure 是一个 class 类,全名叫’aClassAndInstance.PlaneFigure.PlaneFigure’

triangle 是一个指向内存地址为 ‘0x0000021749B17550’
的平面图形类的一个实例变量

然后运行下封装好的获得平面图形边数的方法

# 不需要知道过程就能得到三角形有三条边的结果
triangle.get_sides_number()

控制台’自动’输出了

三角形 有三条边

总结

以上的总体过程,对外界来说就是,使用者只需要告诉程序,这是个平面图形类的三角形对象,然后向程序发出请求:‘告诉我这个图形的边数’,程序就会返回边数,中间的过程对外界都是不见的,也就是把这些对外界无关紧要的内容’封装了起来’,也就是面向对象的封装性.

代码地址

https://github.com/Wsdady/LearnPython

感悟

'从面向对象开始’这个坑感觉真的有点坑啊(think in java 作者真强,仰望),这个 == 和 if 语句一出来我都有点心虚,零基础的真不能这么玩,嗯,应该是我水平还不到家吧,不过既然这么干了硬着头皮也试水到底,谢谢大家的支持!

–by Libor B. Lodestar 名远
2019.05.16

你可能感兴趣的:(自学,GitHub,python,笔记,面向对象)