zoukankan      html  css  js  c++  java
  • Python面向对象-封装

    面向对象编程的三大特点:封装、继承和多态!

    封装

    继续上篇文章的例子,Student类已经具备name和score属性,现在要答应学生的姓名和成绩,该怎么设计呢?可以这么想,谁最清楚name、score的数据是什么?当然是Student类的实例本身了!要访问这些数据,没有必要单独写一个外部函数,直接在类内部定义访问数据的函数就好啦:

     class Student(object):
         def __init__(self,name,score):
                 self.name = name
                 self.score = score
         def print_stu(self):
                 print('姓名:%s,成绩:%s'%(self.name,self.score))

    要调用一个方法,只需要在实例上直接调用:

    >>> wc = Student('wc',88)
    >>> wc.print_stu()
    姓名:wc,成绩:88

    这样,我们看待一个类时,只需要给出所需的属性数据name和score,而如何打印或者操作这些数据都是在Student类的内部定义好的,这样调用很容易,却不用知道内部函数的实现细节。这个过程就是封装。

    和静态语言不同,python允许对实例变量绑定任何数据,也就是说,属于同一个类的不同的实例,拥有的变量名称可能不同:

    >>> ly = Student('ly',77)
    >>> ly.age = 24
    >>> ly.age
    24
  • 相关阅读:
    php——验证身份证是否合法的函数
    php——离线执行任务
    代码整洁之道
    js自适应屏幕高度
    SSH Junit4测试
    Java Persistence with Hibernate
    SSH搭建
    js整理
    Hibernate 应用
    对学习的一点感想
  • 原文地址:https://www.cnblogs.com/hiwuchong/p/8513758.html
Copyright © 2011-2022 走看看