• Python--初识面向对象


    1.初识面向对象
    class Person: #定义一个人类
    role = 'person' #人的角色属性都是人
    def __init__(self,name):
    self.name = name # 每一个角色都有自己的昵称;

    def walk(self): #人都可以走路,也就是有一个走路方法
    print("person is walking...")
    print(Person.role) #查看人的role属性
    print(Person.walk) #引用人的走路方法,注意,这里不是在调用
    实例化的过程就是类——>对象的过程
    语法:对象名 = 类名(参数)
    2.创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性
    而类有两种属性:静态属性和动态属性
    静态属性就是直接在类中定义的变量
    动态属性就是定义在类中的方法
    创建一个对象/实例就会创建一个对象/实例的名称空间,存放对象/实例的名字,称为对象/实例的属性
    3.面向对象的三大特性:继承,多态,封装
    Python的类如果继承了多个类,那么其寻找方法的方式有两种,分别是:深度优先和广度优先

    封装:封装属性方法
    抽象类,接口类.
    抽象类就是一种规范.
    from abc import ABCMeta,abstractmethod
    class Payment(metaclass=ABCMeta): # 抽象类 接口类 规范和约束 metaclass指定的是一个元类
    @abstractmethod
    def pay(self):pass # 抽象方法
    class QQpay(Payment):
    def pay(self):pass
    class Wechat(Payment):
    def pay(self):pass
    多态,鸭子类型.
    面向对象三大特性: 封装,继承,多态.
    只不过python默认支持多态.
    但是python支持鸭子类型.
    封装:
    将一些信息放置到一个空间中.
    私有成员: 私有静态字段,私有属性,私有方法.
    公有的 python
    私有的 python
    被保护的 python没有
    class A:
    __name = 'alex'
    def __init__(self,age):
    self.__age = age
    def __func(self):
    pass
    对于私有成员来说:类外访问不到,类内部可以访问,派生类不可访问.
  • 相关阅读:
    前端试题-正则中test, exec, match的区别
    前端试题-什么是css sprite?优缺点?
    有哪些软件堪称「神器」,却不被大众所知?(转)
    gif,png,jpg的区别
    前端试题-两列等高布局
    20160109小问题
    动画效果之运动
    用JS控制下拉菜单效果
    获取当前时间getDate()注意点
    全心加入web前端开发,向上吧!
  • 原文地址:https://www.cnblogs.com/weilaixiaochaoren/p/9661902.html
Copyright © 2020-2023  润新知