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

    面向对象基本格式:

    # 定义一个类:Account
    class Account:
        # 类中的方法
        def login(self):
            print('登录')
        def logout(self,name):
            print('注销',name)
            return 123
    
    # 调用类中的方法
    # 1.创建对象
    x = Account() #创建一个Acount类的对象
    # 2.使用对象调用类中的方法
    x.login()
    y = x.logout('wdc')#可以传递参数和接收返回值
    print(y)

      应用场景:遇到很多函数,需要给函数进行归类和划分。【封装】

    对象的作用:

      存储一些值,以后方便自己使用。

    class Person:
        def show(self):
            print(self.name)
    
    p1 = Person()
    p1.name = 'wdc'
    
    p1.show()
    
    p2 = Person()
    p2.name = 'yhf'
    
    p2.show()

    类的初始化方法:

      将数据封装到对象,方便我们使用。

    class Person:
        def __init__(self,name,age,gender):# 初始化方法:给对象内部数据初始化。
         #将传进来的参数赋值给对象中的变量。和实例绑定。 self.name = name self.age = age self.gender = gender def show(self): temp = '姓名:{},年龄:{},性别:{}'.format(self.name,self.age,self.gender) print(temp) # 类()实例化对象,自动执行此类中的 __init__方法。 p1 = Person('王佃超','22','') p1.show() p2 = Person('尹洪飞','23','') p2.show()

    继承:

    # 父类
    class Base:
        def f1(self):
            pass
    # 子类
    class Foo(Base):
        def f2(self):
            pass
    
    # 创建一个子类对象
    obj1 = Foo()
    # 执行对象.方法时,优先在自己的类中找,如果没有就去父类中找。
    obj1.f2() #执行自己的方法
    obj1.f1() #执行父类中的方法
    
    # 创建一个父类对象
    obj2 = Base()
    # 只能执行自己的类中的方法,不能执行子类中的方法。
    obj2.f1()

      问题:什么时候才能用到继承?

        多个类中如果有公共的方法,可以放到父类中避免重复编写。

    静态方法和类方法(特殊的静态方法)

    class Dog:
        # 静态方法
        @staticmethod
        def f1(name,age):
            print('...')
            print(name,age)
        # 类方法,至少有一个参数cls。
        @classmethod
        def f2(cls):
            print(cls)
    # 静态方法是由类来调用执行
    Dog.f1('wdc',123)
    # 类方法不用传递参数,自动将类名传递进去
    Dog.f2()

      静态方法就等于python中的函数。

  • 相关阅读:
    jquery datatable后台分页、移动端隐藏列、自定义列显示格式
    今日热门文章
    深入理解STL源码 系列文章
    LED显示屏通讯协议 2
    LED显示屏通讯协议 1
    定制的小键盘输入数字显示的LED计分显示屏
    Sql语句中的LIKE关键字中通配符以及Escape关键字
    Virtual Box扩展虚拟硬盘的问题
    选择腾讯云部署应用的要慎重了,私有网络阉割,可靠性变得难以确定!
    rabbitmq 重置
  • 原文地址:https://www.cnblogs.com/wangdianchao/p/11643784.html
Copyright © 2011-2022 走看看