实例变量

Python类变量与实例变量及成员函数修饰方式说明(与Java定义方式进行类比)

大兔子大兔子 提交于 2020-02-21 08:04:47
Python类中的变量有类变量和实例变量之分。 类变量:变量绑定在类上,同一个类之间的共享变量,类比于Java中的静态变量static 公有变量定义 Java 的定义方式 class Test{ public static class_variable = "123" } Python3 定义方式 class Test: class_variable = "123" 私有变量定义 Java 的定义方式 class Test{ private static class_variable = "123" } Python3 定义方式 class Test: __class_variable = "123" 实例变量:变量绑定在类的实例上,同一个类的不同实例之间不共享,类比于Java中的成员变量 公有变量定义 Java 的定义方式 class Test{ public instance_variable = "123" } Python3 定义方式 class Test: def __init__(self): self.instance_variable = "123" 私有变量定义 Java 的定义方式 class Test{ private instance_variable = "123" } Python3 定义方式 class Test: def __init__(self)

Python:class类

感情迁移 提交于 2020-02-21 07:57:42
类及其类属性 1.属性就是属于另一个对象的数据或者函数元素,可以通过我们熟悉的句点属性标示法来访问。 2. 类属性 仅与其被定义的类相绑定,由于实例对象在日常的面向对象编程中用得最多, 实例数据属性 是你将会一直用到的主要数据属性。 类数据属性仅当需要更加“静态”数据类型时才变得有用,他和任何实例都无关。 类的数据属性 这种属性是一种静态变量,表示这些数据是与他们所属的类对象绑定的,不依赖于任何类实例。 >>> >>> class my(object): ... foo=100 #类属性 ... >>> print my.foo 100 >>> my.foo=my.foo+1 >>> my.foo 101 >>> 以上代码没有出现任何实例的引用 方法 方法其实就是类中定义的函数,他是属于类属性的,并不属于实例属性。虽然他是类属性,但是并不能直接通过类来调用。 >>> class my(object): ... def my_method(self): ... pass ... >>> c=my() >>> c.my_method() #通过实例调用 >>> my.my_method() #通过类直接调用这个方法 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError:

Python面向对象

那年仲夏 提交于 2020-02-21 05:14:14
文章内容参考了教程:http://www.runoob.com/python/python-basic-syntax.html#commentform 面向对象技术简介 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。 类变量: 类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。 数据成员: 类变量或者实例变量用于处理类及其实例对象的相关的数据。 方法重写: 如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。 实例变量: 定义在方法中的变量,只作用于当前实例的类。 继承: 即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。 实例化: 创建一个类的实例,类的具体对象。 方法: 类中定义的函数。 对象: 通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。 创建类 使用class语句来创建一个新类,class之后为类的名称并以冒号结尾,如下实例: class

jbpm工作流

我的未来我决定 提交于 2020-02-20 01:30:08
一、JBPM(java business process manager)   1、工作流管理流程   O--->定义工作流(使用流程设计器生成,png和xml文件,分别面向用户和系统)    --->执行工作流(核心对象:流程引擎ProcessEngine)    --->连接数据库(jbpm18张表,jbpm4_deploymen,jbpm4_deployprop,jbpm4_execution,jbpm4_hist_task,jbpm_hist_var,jbpm4_lob,jbpm4_task,jbpm_variable)   <---O         2、jbmp中的几个基本概念    流程引擎 ,ProcessEnginee   *RepositoryService   *ExcutionService   *TaskService    部署对象 (deployment):一次部署一个或者多个文件到数据库中(png,xml,zip)    流程定义 (processDefinition):获得并解析xml,解析xml文件中的内容,内容即流程定义的规则,工作流jbpm就是按照流程定义的规则往下执行的。与流程定义相关的表,     jbpm部署流程定义的表:select * from jbpm4_deployment;     jbpm流程定义的表:select *

js基础

拟墨画扇 提交于 2020-02-19 14:49:36
js基础 在工作中,时不时的要设计去与web端的网页去进行一些交互,要想软件的功能更加强大,包括QT,Android,IOS的开发,无一列外的都会涉及到与JS的交互,所以想着手学习JavaScript,以后遇到问题,会多一些解决的思路,虽然之前在QT已经用过JS的交互,但具体的基础还是有些模糊。 JavaScript JavaScript 使用 JavaScript 语句输出注释 JavaScript 变量数据类型对象函数运算符 变量 数据类型 JavaScript 函数 JavaScript运算符 JavaScript 条件语句和循环语句 JavaScript Break 和 Continue 语句 JavaScript 错误 - ThrowTry 和 Catch JavaScript 表单验证 结束 JavaScript JavaScript 是属于网络的脚本语言! JavaScript 被数百万计的网页用来改进设计、验证表单、检测浏览器、创建cookies,以及更多的应用。 这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。 JavaScript 是脚本语言 JavaScript 是一种轻量级的编程语言。 JavaScript 是可插入 HTML 页面的编程代码。 JavaScript 插入 HTML 页面后

《Head First Java》笔记

别说谁变了你拦得住时间么 提交于 2020-02-18 17:03:59
笔记只记录自己学习时遇到的重点(复习),全文参考《Head First Java》 第二天 一、primitive主数据类型和引用 一、值类型和引用类型的区别 值类型 通常被分配在栈上,它的变量直接包含变量的实例,使用效率比较高。 整型3种 byte,short,int,long 浮点型2种 float,double 字符型1种 char 逻辑型1种 boolean 引用类型 分配在托管堆上,引用类型的变量通常包含一个指向实例的指针,变量通过该指针来引用实例 数组,类,接口,字符串 来源: CSDN 作者: 贝尔卡 链接: https://blog.csdn.net/hello_tsyh/article/details/104365750

Java 虚拟机 - 2.2 运行时数据区 Runtime Data Area

牧云@^-^@ 提交于 2020-02-15 23:05:04
Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。 JVM是一个内存中的虚拟机, Java虚拟机在执行Java程序的过程中会把它管理的内存划分为若干个不同的数据区域。 运行时数据区Runtime Data Area 一、程序计数器(Program Counter Register) Java虚拟机栈描述的是Java 方法执行 的内存模型:每个方法执行的同时会创建一个 栈帧 ,栈帧用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每个方法从调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈中入栈到出栈的过程。 Java虚拟机栈是 线程私有 的,它的生命周期与线程相同。 程序员主要关注的所谓的“堆和栈”里的“栈”,就是指 VM stack 虚拟机栈内存 ,更细致的讲,就是虚拟机栈中 局部变量表 部分。 局部变量表存放了编译时期可知的各种 基本数据类型 (boolean, byte, char, short, int, float, long, double), 对象引用 , 和 returnAddress类型 (指向了一条字节码指令的地址)。 局部变量表所需的内存空间在编译时期完成分配,当进入一个方法时,这个方法需要在栈帧中分配多大的局部变量空间是完全确定的,在方法运行期间不会改变局部变量表的大小。

Java面向对象[方法]

可紊 提交于 2020-02-15 06:14:47
方法是类和对象的行为特征的抽象,Java中的方法与传统的函数非常相似又有着显著的不同,在结构化语言中函数是最小单位,整个软件由一个一个函数组成;在面向对象语言中,类是最小单位,整个系统由一个一个类组成,在java中方法不能独立存在,必须属于类或者对象。 方法必须属于类或者对象 如果要定义方法,则只能在类体内定义,不能独立定义方法,如果类中的方法由static修饰,那么这个方法属于这个类,否则该方法属于这个类的实例 Java语言是静态的,一个类定义完成后,只要不再重新编译这个类文件,该类和类的对象所拥有的方法是固定的,永远都不会改变 方法不能独立定义,也不能独立执行,它的调用方式必须是【类.方法】【对象.方法】 同一个类中的一个方法调用另一个方法时,如果被调用的是普通方法,则默认使用this作为调用者,如果被调用的方法是静态方法,则默认使用类作为调用者,表面上看是独立执行,但实际上只是隐藏了主调 需要注意的是static修饰的方法既可以使用类作为调用者,也可以使用对象作为调用者来调用,但static修饰的方法属于类,虽然使用类的对象调用static修饰的方法能够得到相同的执行结果,但那是因为底层依然是使用这些实例所属的类作为调用者,执行虽然不会报异常,但并不支持这么写程序 Java方法的参数传递机制 如果声明方法的时候指定了形参,那么调用方法时必须给这些形参指定参数值

Python3运算符

荒凉一梦 提交于 2020-02-15 00:56:56
Python3 运算符 什么是运算符? Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 Python算术运算符 以下假设变量a为10,变量b为21: 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 31 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -11 * 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 210 / 除 - x 除以 y b / a 输出结果 2.1 % 取模 - 返回除法的余数 b % a 输出结果 1 ** 幂 - 返回x的y次幂 a**b 为10的21次方 // 取整除 - 向下取接近除数的整数 >>> 9//2 4 >>> -9//2 -5 以下实例演示了Python所有算术运算符的操作: 实例(Python 3.0+) # 算术运算符 # + 加法运算符(如果是两个字符串之间进行加法运算,则会进行拼串操作) # - 减法运算符 # * 乘法运算符(如果将字符串和数字相乘,则会对字符串进行复制操作,将字符串重复指定次数) # / 除法运算符,运算时结果总会返回一个浮点类型 # // 整除,只会保留计算后的整数位,总会返回一个整型 # ** 幂运算,求一个值的几次幂 # % 取模

Java中的二元操作符:instanceof

假如想象 提交于 2020-02-14 14:11:03
Java中的二元操作符:instanceof 判断一个引用类型的变量所指向的对象是否是一个类(或者接口、抽象类、父类)的实例,即它左边的对象是否是它右边的类的实例,该运算返回boolean类型的数据。 格式: result = object instanceof class; 注:如果object是null,返回false 来源: CSDN 作者: Mason97 链接: https://blog.csdn.net/Mason97/article/details/104308990