1. 字段 字段:包括普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同. 普通字段属于对象 静态字段属于类 字段的定义和使用: class Province: # 静态字段 country = '中国' def __init__(self, name): # 普通字段 self.name = name # 直接访问普通字段 obj = Province('河北省') print obj.name # 直接访问静态字段 Province.country 由上述代…
day24 类的成员之属性 class Foo(): def bar(self): print("bar") @property def per(self): ') return 1 obj = Foo() obj.bar() r = obj.per#实际上是方法,但通过字段的方式访问 print(r) 实际上是方法,但通过字段的方式访问.执行结果: bar 123 1 Process finished with exit code 0 @property,@per.setter,@p…
方法的重载概念:方法的重载指的就是方法的名称相同给,但是参数不同.参数不同,分为两种情况1).如果参数的个数相同,那么参数的类型就不能相同.2).如果参数的类型相同,那么参数的个数就不能相同.***方法的重载跟返回值没有关系. .静态和非静态的区别1).在非静态类中,既可以有实例成员,也可以有静态成员.2).在调用实例成员的时候,需要使用对象名.实例成员; 在调用静态成员的时候,需要使用类名.静态成员名;总结:静态成员必须使用类名去调用,而实例成员使用对象名调用. 静态函数中,只能访问静态成员,…
方法的签名 包括参数个数.参数类型.方法返回值 base和this关键字 1.使用base关键字,就可以使用父类中的字段.属性.方法 2.一旦父类中存在有参数的构造函数,那么子类就必须使用base来覆盖父类中的构造函数,base取的父类中参数最多的构造函数 构造函数 不同的参数会使用不同的构造函数 类的属性  GET.SET public string Name { get; } 上一段的意思是:仅仅声明GET取值函数,能在构造函数中设置函数内部的变量,GET只是针对类外部对类的访问限制使用的,…
原文链接:http://www.orlion.ga/1237/ 类的成员变量在PHP中本质是一个变量,只是这些变量都归属于某个类,并且给这些变量是有访问控制的. 类的成员方法在PHP中本质是一个函数,只是这个函数以类的方法存在,他可能是一个类方法也可能是一个实例方法,并且在这些方法都加上了类的访问控制.类的成员方法是现实世界实体行为的抽象,可以用来实现类的行为. 一.成员变量 成员变量在编译时已经注册到了类的结构中.在编译时类的声明编译会调用zend_do_begin_class_declara…
面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以讲多函数中公用的变量封装到对象中) 对象,根据模板创建的实例(即:对象),实例用于调用被包装在类中的函数 面向对象三大特性:封装.继承和多态 类的成员 类的成员可以分为三大类:字段.方法和属性 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段.而其他的成员,则都是保存在类中,即:无论对象的多少,在内存中只创建一份. 一.字…
一.字段和方法分类 方法分类: 二.属性(将方法伪装成字段) 三种伪装方式:@property  @perr.setter @perr.deleter 属性使用的场景:分页 三.公有成员和私有成员 私有成员:__字段名   __方法名,特点是外部无法访问,只能通过类里面的方法可以间接访问. 公有成员:其他字段和方法,外部和内部都可以直接访问 应用场景:数据库连接信息的保存,弄成私有,限制外部无法访问. 私有成员没有继承性,只要公有的才有继承性 四.特殊成员 __init__ :类() 时自动执行…
封装基础 广义上面向对象的封装:代码的保护,面向对象的思想本身就是一种封装 只让自己的对象能调用自己类中的方法 狭义上的封装-面向对象三大特性之一(私有变量,用公有的方法封装私有属性,方法叫封装) 把属性和方法都藏起来,不让你看见 类的特性 所有的私有,都是在变量左边加双下划线 所有的私有,都不能在类的外部使用 对象的私有属性 类的私有方法 类中私有的静态属性 class Person: def __init__(self, name, password): __key = 123 #静态私有属…
解决办法:在属性的get方法上加上一段注解标识它是临时属性,不是数据库字段就OK @Transient public List<Reverts> getChildList() { return childList; } public void setChildList(List<Reverts> childList) { this.childList = childList; } 记得导入的是:import javax.persistence.Transient;…
创建对象 方式① 直接使用new Object() var obj = new Object(); 方式② 使用空的{}大括号 var obj2 = {}; 测试 增加属性,访问属性 我们要为创建的对象增加属性和访问属性的值! 使用.操作符增加属性 JavaScript是弱类型的语言,可以动态的添加属性. obj.age = 20; obj.name = "zhongfucheng"; obj.say = function () { alert("hello");…