zoukankan      html  css  js  c++  java
  • python定义类的特性,引出面向对象

    面向对象:可以解决更复杂的关系描述,一个对象可以有多个功能

    面向过程:一步一步去走,去实施完成,适合一次性的任务。要是要处理复杂并且可重复利用的,就得用面向对象

    比如,连接数据库,备份数据库,测试数据库如下图:

    面向对象: object oriented programing

    下面举例说明类的特性:举例说明公有属性、私有属性、强制访问、安全访问

    class Role(object):
        def __init__(self,name,role,weapon,life_value=100):
            self.name=name
            self.role=role
            self.weapon=weapon
            self.life_value=life_value
            self.__heart="die"  #私有属性对外部不可见
        def policemen(self):
            print("%s is policemen",self.name)
        def get_heart(self):
            return self.__heart

        def feitoo(self):
            print("%s is feitu",self.role)

        def shoot(self):
            print(self.name," is  shooting",self.__shoot)

        def get_shoot(self):
            print("%s is get_shooted",self.__heart)


    r=Role("xiangxiao","policemen","AK47")
    # r.feitoo()
    # r.get_shoot()
    #print(r.get_heart())
    print(r._Role__heart)

    上面的例子中了解到:

    __init__:表示构造函数

    self.name=name:表示属性,或者成员变量

    self.__heart=”die”:表示私有属性,只允许内部访问

    外部想要直接访问私有属性有2中办法:

    1.直接在内部定义一个函数,来返回私有属性:

     

    2.强制访问

    3.类的公有属性:定义在类里面的属性,如:nationnality

    1.如果想调用一个私有函数的话,就得重新定义一个函数:

    上面就是单独写一个shoot2函数,发现r2调用的新定义的函数,r1还调用的原来的函数

  • 相关阅读:
    伪元素:placeholder-shown&&:focus-within
    伪元素:target
    伪元素:focus-within
    MpVue解析
    ESLint在vue中的使用
    vue动态 设置类名
    Java 文件流操作.
    SpringMVC 与 REST.
    基于Nginx和Zookeeper实现Dubbo的分布式服务
    基于Spring的RPC通讯模型.
  • 原文地址:https://www.cnblogs.com/pythonbz/p/6286800.html
Copyright © 2011-2022 走看看