zoukankan      html  css  js  c++  java
  • 面向对象 "一"

    1:面向对象不是所有情况都适用。
    
    2面向对象编程
    
    a:定义类
    
    calss Foo:                    注意顶一个类的时候首字母必须是大写
    
           def (方法一)(self,bb)
    
                   pass
    
    b:根据创建对象,创建和Foo实列的。
    
    使用对象去类中找方法。
    
    3:self,是一个形式参数,python内部传递的。
    
    4:类+括号就会自动执行类中的__init__方法:创建了一个对象在__init__方法中执行具体的封装操作。
    
    __init__:有一个特殊的名字:构造方法
    
    __del__:解释器销毁对象的时候会自动调用,特殊的名字:析构方法
    封装:
    
    使用场景:当同一类型的方法具有相同的参数时,直接封装到对象即可。
    
    使用场景:把类当做模板,创建多个对象(对象内封装的数据可以不一样)
    
    5:派生类可以继承基类中的所有功能。
    
    6:派生类和基类同时存在,优先找派生类。
    
    面向对象有三个特性:
    
                              封装 , 继承 , 多态。
    面向对象编程,类,def函数。          参考:
    class Oldboy:           定义类
        def fetch(self,backend):         
            print(backend) 
        def add_record(self,backend,record):
            pass
    #创建对象
    ret = Oldboy()
      
    
    ret.fetch("www.xxx.com") ret.add_record("www.xxx.com","www.ooo.com") #这个不执行 #输出结果 www.xxx.com



    class OldBoy:
        def __init__(self,bk):      #bk是形参,对应外部穿过来的实参
            '''
            构造方法
            :return: bk
            '''
            self.backend = bk       #self.backend = bk相当于在__init__中bk的参数
    
        def fetch(self):
            print('fetch中self的内存地址:',self)
            return self.backend     #backend用来接收init方法中bk的参数
    
        def add_record(self,record):
            print('add_record中self的内存地址:',self)
            return self.backend + record
    
    obj = OldBoy("www.oldboy.org")      #创建了一个对象obj,然后把www.oldboy.org封装到类中对应的形参bk
    # obj.backend = "www.oldboy.org"
    print('obj对象的内存地址:',obj)
    ret = obj.fetch()
    print(ret)
    
    obj2 = OldBoy(2)
    # obj2.backend = 2
    print('obj2对象的内存地址:',obj2)
    ret = obj2.add_record(3)
    print(ret)
    class Abcd:          #父类
        def chi(self):
            print(self,name +"" )
        def he(self):
            print(self,name + "")
    class Dog(Abcd):          #继承父类
        def __init__(self,name):
            sela.name = name
        def jiao(self):
            print(self.name + "")
    ret = Dog("小黑")
    ret.chi()
    ret.he()
    ret.jiao()
    
    #执行结果
    小黑 吃
    小黑 喝
    小黑 汪
    #多个继承
    class Abcd(object):
        def f1(self):
            print("Abcd")
    class A(Abcd):
        def f(self):
            print("A")
    class B(Abcd):
        def f1(self):
            print("B")
    class C(A):
        def f(self):
            print("C")
    class D(B):
        def f1(self):
            print("D")
    class E(C,D):
        def f(self):
            print("E")
    ret = E()
    ret.f1()
    
    
    #执行结果
    D

      

  • 相关阅读:
    linux-log-files/
    SSL SSH
    C++学习的书籍
    Linux IO 分析
    LINUX 常用操作
    Find Large Files in Linux
    Linux 常见操作
    Linux Performance tool
    /linux-command-line-bash-shortcut-keys/
    Sed
  • 原文地址:https://www.cnblogs.com/wuyongcong/p/5549658.html
Copyright © 2011-2022 走看看