• 12.1面向对象编程的介绍(oop):封装,继承,多态,访问私有属性


    #封装:内部对数据封装。作用:1、保护数据,防止被随意修改;2、使外部的程序不需要关注内部的构造;只需要提供接口给外部进行访问即可。
    #继承:一个类就相当于一个模板。通过父类,子类的方式实现不同角色的共同点和不同点的最小代码量。
    #多态:多种状态。一个接口,多种实现。一个基类中派生出了不同的子类,且每个子类在继承了同样的方法的同时又对父类的方法做了不同的实现,这就是
    同一个事物表现出的多种形态
    例子:
    class Dog(object):
    def __init__(self,name,type): #构造函数,构造方法=初始化方法。
    self.NAME = name #在类里是全局生效,叫属性或成员变量(严格来说不是公有属性)
    self.TYPE = type
    self.__heart = "Normal" #私有属性,外部不能传参数进来。
    def sayhi(self): #类的方法;动态属性
    print("hello, I am a dog, My name is",self.NAME)
    print("My type is",self.TYPE)
    def eat(self,food):
    print("%s is eating %s" %(self.NAME,food))
    def get_heart(self): #对外提供只读访问接口。
    return self.__heart

    d = Dog("小汪1","京巴") #实例化后产生的对象,叫实例。
    d2 = Dog("小汪2","哈巴")
    print(d.NAME)
    d.sayhi()
    print(d.get_heart())
    print(d._Dog__heart) #强制访问私有属性。

    print(d2.NAME)
    d2.sayhi() #可以从初始化方法后的参数里传入
    d2.eat("rice") #可以直接传入参数




  • 相关阅读:
    一 :了解MVC
    使用EasyUI查询与删除
    了解认识asp.net运行机制
    asp.net 页面静态化
    easyUI 布局
    禁止网页另存为 右键,左键等
    使用canvas 代码画小猪佩奇
    使浏览器不可后退 的代码(兼容性特别高),监听用户是否在此页面浏览
    底部版权时间自动变化,网页在线qq咨询
    vue首页加载慢问题解决
  • 原文地址:https://www.cnblogs.com/liulvzhong/p/7987007.html
Copyright © 2020-2023  润新知