zoukankan      html  css  js  c++  java
  • python_way ,day7 面向对象 (初级篇)

    面向对象 初级篇

     
    python支持 函数 与 面向对象
     
    什么时候实用面向对象?

     

    面向对象与函数对比

    类和对象
    创建类
    class 类名
        def 方法名(self,xxxx)
    类里面的方法,只能对象去调用
        对象 = 类名()
    
    通过对象执行方法
    对象.方法名(xxxx)
    
    设计,增删改查功能
    函数式:
    def fetch(self,host,port name passwd,sql)
        pass
    
    def create(self,host,port name passwd,sql)
        pass
    
    def remobe(selfhost,port name passwd,sql,id)
        pass
    
    def modify(self,host,port name passwd,sql)
        pass
    
    面向对象
        class sql():
            
               def fetch(host,port name passwd,sql)
                        pass
    
                def create(host,port name passwd,sql)
                        pass
    
                def remobe(host,port name passwd,sql,id)
                        pass
    
                def modify(host,port name passwd,sql)
                        pass
    

      

     一次封装多次调用。

    面向对象使用场景:
         一堆的函数有共同的参数:
        当某些函数具有相同参数时
    self到底是什么鬼?
        self 类自动传值的是形参
        那个对象执行方法,self就是谁
        obj1.remove(selecrt) self = obj1
        obj2.remove(selet..) self = obj2
    __init__什么鬼
    构造方法
    这个特殊的方法再类()时自动会执行这个方法
    obj1 = sql(c1,c2,c3)
    此时构造了一个obj1对象
    面向对象特性:
        三大特点:    封装 继承 多态
     
        python可以多继承
     
        父类和子类有同样的方法,优先使用子类的方法
     
     
     
     
    class f1:
    def __init__(self):
    self.name = 123
    
    def show(self):
    print("show")
    
    
    class f2(f1):
    # def __init__(self,name):
        #     self.name = name
    def bar(self):
    print(self.name)
    单继承:
        如果涉及到继承,就是把父类的方法拿到自己的类里面
    按照优先级关系 左边的优先级高
    如果 多继承多级中都有需要的方法?
    没有共同的父类  先网上找,再找平级的。
     
     
    有共同的父类
     
     
     
    sockserver模块中的继承关系
     
     
  • 相关阅读:
    【转载】apache kafka系列之-监控指标
    自动恢复被挂掉的hbase region server
    beeline连接hive server遭遇MapRedTask (state=08S01,code=1)错误
    sqoop-1.4.6安装配置
    spark RDD的元素顺序(ordering)测试
    【转载】常用Maven插件介绍
    【转载】Spark SQL 1.3.0 DataFrame介绍、使用
    SparkSQL之数据源
    spark集成hive遭遇mysql check失败的问题
    hive启动报错: Found class jline.Terminal, but interface was expected
  • 原文地址:https://www.cnblogs.com/python-way/p/5615688.html
Copyright © 2011-2022 走看看