zoukankan      html  css  js  c++  java
  • python的三种特性

    1、封装

    什么时候用函数?

        各个函数之间是独立的且无共用的数据。

    什么时候用类?

        函数之间是相关的,且有共用的数据,则可以使用类来封装。

    所谓的封装:

    (1)使用构造方法将内容封装到 对象 中。

    (2)通过对象直接获取被封装的内容或者通过self间接获取被封装的内容。

    class A:

        def __init__(self, name, age):

            self.name = name

            self.age = age

        def get(self):

            print(self.name)

    # 实例化

    obj = A()

    obj.get() 等价于 obj.get(obj)

    # 调用的时候,会将对象obj自身赋值给self变量

    self = obj                            

    self.name 等价于 obj.name

    self.age 等价于 obj.age

    2、继承

    同现实中的继承一样。

    猫可以:喵喵叫、吃、喝、拉、撒

    狗可以:汪汪叫、吃、喝、拉、撒

    动物:吃、喝、拉、撒

    猫:喵喵叫(猫继承动物的功能)

    狗:汪汪叫(狗继承动物的功能)

    对于面向对象的继承来说,其实就是将多个类共有的方法提取到父类中,子类仅需继承父类,不必

    一一实现每个方法。

    当类是经典类时,多继承情况下,会按照深度优先方式查找

    当类是新式类时,多继承情况下,会按照广度优先方式查找

    如果当前类继承了object,那么当前类便是新式类;

    如果当前类的父类继承了object,那么当前类便是新式类;

    除了这2种情况,其他类都是经典类。

    3、多态

    在Java或C#中定义函数参数时,必须指定参数的类型。

    比如java定义函数:

    public static int sum(int num1, int num2) {

        # 函数体

    }

    在python中不用指定类型,可以直接用。

    比如:

    def sum(num1, num2):

        # 函数体

  • 相关阅读:
    阿里云centos7.2自己安装mysql5.7远程不能访问解决方案
    Delphi中的线程类
    简单说说Delphi中线程的释放
    delphi杀进程的两种方式
    delphi备份恢复剪切板(使用了GlobalLock API函数和CopyMemory)
    Delphi 7下使用Log4Delphi 0.8日志组件
    Demo+在Linux下运行(CentOS7+dotnetcore sdk)
    反射
    解析表达式树
    JS面向对象编程之:封装、继承、多态
  • 原文地址:https://www.cnblogs.com/t-road/p/11634552.html
Copyright © 2011-2022 走看看