zoukankan      html  css  js  c++  java
  • 多态/封装

    多态:python中处处是多态,无需这个概念,没有多态的示例
    python是一种弱类型语言,变量的类型是可以改变的;不论什么类型,都可以传到函数中
    在Java这种强类型语言中变量的类型是不可以变.
    Java多态的体现:传一个变量,就需要在这个变量前加上类型名,Java没有多继承

    python没有多态,有鸭子类型
    鸭子类型:看着像鸭子,那他就是鸭子
    class Str:
    def index(self):
    pass

    class List:
    def index(self):
    pass

    class Tuple:
    def index(self):
    pass

    #鸭子类型,这些类中有一些相同功能的方法,那么名字就写的相同,这些方法相同使用也相同的类彼此之间互称为鸭子.


    封装:广义的封装:实例化一个对象,给对象空间封装一些属性
    狭义的封装:私有制,私有的概念
    私有成员:私有静态字段(在静态字段名前加__),私有方法(在方法名前加__),私有对象属性(在属性名前加__)

    对于私有静态字段而言,派生类不能访问,在类的外部都不能访问.只能在类的内部可以访问
    对于私有方法而言,派生类不能访问,在类的外部都不能访问.只能在类的内部可以访问
    对于私有属性而言,派生类不能访问,在类的外部都不能访问.只能在类的内部可以访问
    一旦class语言定义执行,python在这个类的内部就把原来的私有成员名字改成了_类名+__私有成员名,这就意味着所有外面的按照代码去找私有成员都是找不到的.
    即使内外两个类都有相同的私有成员,但是经过python内部的转化,就导致虽然看上去相同,但是不同的类内就有不同的前缀,还是不一样的.
  • 相关阅读:
    常见面试题1
    勒索病毒防范方法
    VMware虚拟机打开后不兼容
    win10桌面显示我的电脑设置
    scala集合和Java集合对应转换操作
    scala中使用redis
    爬虫调研
    hadoop命令
    IDEA打jar包
    spark.mllib
  • 原文地址:https://www.cnblogs.com/shachengcc1/p/11141221.html
Copyright © 2011-2022 走看看