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

    一个类占有一个独立的空间,类中的属性叫做类变量,类中的函数,叫做类的方法。

    类(Class):也可以成为类对象。类对象中包含了一批实例对象共有的属性和方法。

    类变量:定义在类中且在函数体之外的变量。类变量在所有的实例变量中是共享的,类变量修改了,所有实例对象读取到的值都会修改。

    实例变量:定义在类的实例方法中的变量,只作为当前实例的属性。

    数据成员:类变量或者实例变量,以及用于处理类及其实例对象的相关的数据的统称。

    方法:类中定义的函数。包含实例方法,类方法,静态方法。

    方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。其实只是在派生类中添加了同名方法,以至于查询方法时不会再向基类查询

    继承:即一个派生类(derived class)继承基类(base class)的属性和方法。继承也允许把一个派生类的对象作为一个基类对象对待。(就是说派生类还可以再派生孙子类)

    实例化:创建一个类的实例,类的具体对象。在实例对象开辟一个空间,并为实例对象添加对类的引用。并没有复制类中的属性和方法到实例对象中。

    实例对象:通过类定义的数据结构实例。

    方法(与实例化和继承混合看)在python中没有方法重载,因为本来函数的参数就是可以省略的。后定义的函数会覆盖先定义的同名方法。

    实例方法:只能通过实例对象调用,因为实例方法第一个定义的参数必须是实例对象本身。

    类方法:定义类方法,要使用装饰器@classmethod,定义的第一个参数一定是类的引用,不过可以通过类或者实例的引用。

    静态方法:定义静态方法使用装饰器@staticmethod,没有默认的必须参数,可以通过类和实例直接调用。静态方法就如同类外函数一样。若在静态函数内访问类变量也是需要 类名.变量名 的方式访问。

    实例化和继承的内存操作(最重要)

    实例化:为实例化对象新开辟一个空间。并为实例对象添加到类对象的引用,用于变量的查找。不过并没有为实例对象复制任何内容,这也就大大节省了空间。实例对象可以自定义自己的空间,但是不能修改类对象空间。

    通过类名,可以调用类对象的类方法和静态方法,实例方法无法通过类名调用,因为实例方法的self必须是实例对象。类方法中self表示类对象。

    通过实例对象,可以访问类对象的所有属性,调用类对象的所有方法。但是不能修改类对象中的属性和方法的指向(因为属性和方法都是引用变量),不过可以修改属性和方法指向的数据。

    继承:继承的过程和实例化的过程相似,也是为派生类对象开辟一个独立的空间,并为派生类对象天剑了到基类对象的引用,用于变量查找。没有为派生类对象复制任何内容,大大节省了空间。派生类对象可以自定义自己的空间,为派生类对象添加派生类的类变量,实例方法,类方法、静态方法。

    类的继承
    面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过继承机制。继承完全可以理解成类之间的类型和子类型关系。

    除了在前面继承时的内存操作必须要掌握外,你还需要知道

    在python中继承中的一些特点:

    1:在继承中基类的构造(__init__()方法)不会被自动调用,它需要在其派生类的构造中亲自专门调用。

    2:在调用基类的方法时,需要加上基类的类名前缀,且需要带上self参数变量。区别于在类中调用普通函数时并不需要带上self参数

    3:Python总是首先查找对应类型的方法,如果它不能在派生类中找到对应的方法,它才开始到基类中逐个查找。(先在本类中查找调用的方法,找不到才去基类中

  • 相关阅读:
    SpringMVC与Servlet 3.0结合
    servlet3.0之后加入spring-mvc
    三、nginx通用配置语法规则
    二、nginx中的参数与信号
    一、nginx源码安装
    Linux环境下java开发环境搭建四 mysql密码忘记找回
    Linux环境下java开发环境搭建三 mysql解压安装(预编译安装)
    dubbo入门学习 六 admin管理界面
    SpringCloud之Hystrix Dashbord监控中心+分布式配置中心
    SpringCloud之zuul+过滤器+容错与回退
  • 原文地址:https://www.cnblogs.com/windyrainy/p/10585075.html
Copyright © 2011-2022 走看看