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

    面向对象:

    1)是一种抽象(用分类的眼光看事物)。

    2)两个基本概念:类(定义一件事物的抽象特点)对象(类的实例)

    3)eg:coder(class)->张三(object)

    面向对象的基本要素:定义类的属性和方法

    1)属性:coder(name,sex,height,weight,salary....)

    2)方法(功能):coding,repair computer...

    类的特性:

    1)封装:用户只知道如何使用这个类,不需要知道这个类是如何实现的。程序把实现的过程封闭起来就叫做类的封装。

    2)继承:coder->后端coder->c、java、python coder,子类获得父类所有的功能。

    3)多态:有继承才有多态。eg. Python coder 既是后端coder也是coder,若coder里面定义了一个write功能,只要是coder类或者子类,都会调用write。这就是多态。

    继承可以把父类的所有功能都直接拿过来,这样就不必重零做起,子类只需要新增自己特有的方法,也可以把父类不适合的方法覆盖重写。

     

              

    内建函数:

    1)dir():返回对象的属性

    2)Type():获取对象类型

     

    访问控制之变量说明:

    XXX:谁都可以访问

    _XXX:外部可访问,但是请视为私有变量,不要随意访问

    __XXX:外部不可访问,私有变量,要访问有方法(实例名._类名__XXX,见eg)

    __XXX__:特殊变量,可直接访问。

    总结:不提供私有属性,全靠自觉。

    附网上摘抄小段子(有点污哈哈哈):

     

    但是python仍然可以用实例名._类名__girl强上贞女

     

    Coding && Result:

     

     

     

    Coding && Result: 

     

    定义类的方法:

    1)@classmethod:调用的时候用类名,而不是某个对象

    2)@property:像访问属性一样调用方法

    Coding && Result:

     

    继承:

    Coding && Result:

     

  • 相关阅读:
    Redis入门--- 五大数据类型 ---String ,List
    Redis入门 --- 安装
    Netty 应用实例-群聊系统,心跳检测机制案例 ,WebSocket 编程实现服务器和客户端长连接
    红锁的实现
    基于Redis实现分布式锁
    基于分布式锁 分布式全局唯一ID
    Netty Java BIO 编程 (一)
    Netty Java NIO 基本介绍Channel 和 buffer (二)
    Java AIO 基本介绍
    SpringBoot 系列教程自动配置选择生效
  • 原文地址:https://www.cnblogs.com/Darlene/p/7593116.html
Copyright © 2011-2022 走看看