面向对象的深刻理解

对象没有继承元类的dict的值

init

对象点dict的值就是实例化对象的名称空间

类点dict就是类的名称空间

new 是没有dict这个字典的,只会在args中赋值

call 是在对象加括号调用的时候触发,没有dict这个字典,

对象继承了元类

元类中的init方法

args 中的参数就是 继承元类的类的属性 类的名字。类的基类。类的名称空间。注意类的名称空间是没有实例化属性的属性值得,还有一个init的self就是就是这个类的实例化对象

元类中的new方法

args 中的参数就是 继承元类的类的属性 类的名字。类的基类。类的名称空间。注意类的名称空间是没有实例化属性的属性值得,还有一个init的cls就是就是这个类可以通过cls实例化对象

元类中的call方法

args是这个类实例化过后的init中的属相,我们要是想控制类的实例化,就可以通过call方法

原文地址:https://www.cnblogs.com/cherish937426/p/11562969.html

时间: 2024-11-02 15:32:54

面向对象的深刻理解的相关文章

我对面向对象的深刻理解

我们之前已经对对象有所了解了,现在我们来说一下面向对象. 我对面向对象的认识是这样的,所谓的面向对象就是在不懂内部原理的情况下,对它的一个使用.比如在我们的生活中, 去餐厅吃饭时,我们仅只给厨师报上菜名,厨师就会把菜做出来,不需要去告诉厨师要怎样去做,用什么做,这就是面向对象 .万物皆对象,对象就是由属性和方法组成的.面向对象有三大特征,分别是封装,继承和多肽. 面向对象面向的是class,面向的是类,而在我们js中是没有class没有类的,它基于的原型.创建对象的方法有很多种 ,最常用的有6种

深刻理解JavaScript基于原型的面向对象

主题一.原型 一.基于原型的语言的特点 1 只有对象,没有类;对象继承对象,而不是类继承类. 2  "原型对象"是基于原型语言的核心概念.原型对象是新对象的模板,它将自身的属性共享给新对象.一个对象不但可以享有自己创建时和运行时定义的属性,而且可以享有原型对象的属性. 3 除了语言原生的顶级对象,每一个对象都有自己的原型对象,所有对象构成一个树状的层级系统.root节点的顶层对象是一个语言原生的对象,其他所有对象都直接或间接继承它的属性. 显然,基于原型的语言比基于类的语言简单得多,我

深刻理解Python中的元类(metaclass)以及元类实现单例模式

深刻理解Python中的元类(metaclass)以及元类实现单例模式 在看一些框架源代码的过程中碰到很多元类的实例,看起来很吃力很晦涩:在看python cookbook中关于元类创建单例模式的那一节有些疑惑.因此花了几天时间研究下元类这个概念.通过学习元类,我对python的面向对象有了更加深入的了解.这里将一篇写的非常好的文章基本照搬过来吧,这是一篇在Stack overflow上很热的帖子,我看http://blog.jobbole.com/21351/这篇博客对其进行了翻译. 一.理解

深刻理解Nginx之Nginx完整安装

1.   Nginx安装 1.1预先准备 CentOS系统下,安装Nginx的库包依赖.安装命令如下: sudo yum groupinstall "DevelopmentTools" sudo yum install pcre pcre-devel sudo yum install zlib zlib-devel yum install perl-ExtUtils-Embed sudo yum install openssl openssl-devel 1.2 安装 最重要的特性和基

深刻理解Nginx之Nginx与Python(1)

6 Python和Nginx 6.1 介绍FastCGI FastCGI(Fast Common Gateway Interface)是基于CGI上的改进,是CGI的一种演变产物.尽管目的是保持相同的,FastCGI在CGI上提供了重大的提升,通过建立起下面的原则. l  代替对于每个请求孵化一个新进程,FastCGI采用持久化进程,伴随着能够处理多个请求的能力. l  Web服务器和网关应用程序通过使用sockets比如TCP或者POSIXT 本地IPC sockets来交流.其结果是,它们的

深刻理解Docker镜像大小

都说容器大法好,可是假设没有Docker镜像,Docker该是多无趣啊. 是否还记得第一个接触Docker的时候,你从Docker Hub下拉的那个镜像呢?在那个处女镜像的基础上.你执行了容器生涯的处女容器.镜像的基石作用已经非常明显.在Docker的世界里,能够说是:No Image,No Container. 再进一步思考Docker镜像,大家可能非常快就会联想到下面几类镜像: 1.系统级镜像:如Ubuntu镜像.CentOS镜像以及Debian容器等: 2.工具栈镜像:如Golang镜像.

面向过程和面向对象的本质理解

http://kiritor.blog.51cto.com/7400479/1226762/ 面向过程和面向对象的本质理解 面向过程就是分析出解决问题所需的步骤,面向对象则是把构成问题的事物分解成对象,抽象 出对象的目的并不在于完成某个步骤,而是描述其再整个解决问题的步骤中的行为. 面向过程的思维方式是分析综合,面向对象的思维方式是构造. 例如c语言解决问题时,一般是先定义数据结构,然后在构造算法.而是用Java面向对象求解时 则是先抽象出对象,构造一个"封闭"的环境,这个环境中有定义

深刻理解Java中形参与实参,引用与对象的关系

声明:本博客为原创博客,未经允许,不得转载!原文链接为http://blog.csdn.net/bettarwang/article/details/30989755 我们都知道,在Java中,除了基本数据类型之外,其他的都是引用类型,当它们作为函数参数时,传递的也是引用,通过引用可以改变对象的值,很多人便因此而忽略形参与实参,引用与对象的关系问题.废话不多说,先看下面一个例子: import java.util.*; public class Student { private String

parent,son深刻理解this,super关键字

核心点: super关键字,表示调用的是父类对象. this关键字,表示调用的是当前运行类对象. 那么如果在父类中,使用了关键字,this,此时的this指的是什么呢? 看下面的例子,再加深理解核心店的第二句话就ok了. parent类: package com.ghsy.thissuper; public class Parent { public void init(){ System.out.println(this.getClass()); //获得当前运行类 System.out.pr