关于 私有变量的访问问题【 java python]
#coding:utf-8
class Teacher():
__clas = '' # 类私有变量同样遵循,只能在类内部访问,外部无法访问,但是类的方法可以访问同类所有对象私有变量这个规则。
def __init__(self):
__name = ""
def get_name(self):
return self.__name
def equ(self,tac):
return self.__name == tac.__name # __name 是私有变量,规定是私有变量只能在类内部访问。但是,类内部的方法,可以访问该类的所有实例对象的私有变量。
# 这种规则同样在java中使用
def equa(self,stu):
# print(self.__name == stu.__namee) # 这里会报错,因为 Student类中 __namee 是私有变量。只能在类内部访问。
return self.__name == stu.get_name() #所以采用过这种方式。
def set_name(self,name):
self.__name = name
def set_stu_name(self,std): #
std.set_name("liudaxia")
class Student():
__age = ''
def __init__(self):
__namee =""
def get_name(self):
return self.__namee
def set_name(self,name):
self.__namee = name
if __name__ == "__main__":
s1 = Student()
s1.set_name("zhanzhao")
t1 = Teacher()
t1.set_name("LI")
print(t1.equa(s1)) # False
t2 = Teacher()
t2.set_name("LI")
print(t1.equ(t2)) # true
t1.set_stu_name(s1)
print(s1.get_name()) # liudaxia
class A{
private int a = 10;
public void summ(A that){
this.a += that.a; // 虽然 a是私有变量,但是因为 that也属于 A类,所以其私有变量可以被访问。
}
public void summ(B that){
// this.a += that.b // 访问 b 的私有变量将会出错
this.a += that.getB(); //采用这种方式访问私有变量
}
}
class B{
private int b = 20;
public void mucc(B that){
this.b *= that.b;
}
public int getB(){
return this.b;
}
}
关于 私有变量的访问问题【 java python]的更多相关文章
- Python 私有变量的访问和赋值
首先我们这里先描述下: Python中,变量名类似__x__的,以双下划线开头,并且以双下划线结尾的,是特殊变量,特殊变量是可以直接访问的(比如 __doc__, __init__等),不是priva ...
- ES6 系列之私有变量的实现
前言 在阅读 <ECMAScript 6 入门>的时候,零散的看到有私有变量的实现,所以在此总结一篇. 1. 约定 实现 class Example { constructor() { t ...
- Python基础_私有变量访问限制
Python内置了一些特殊变量,以前后上下划线标注,同时我们自己要想定义一些变量,不想让外部访问,又该怎么做呢?更多内容请参考:Python学习指南 访问限制 在class内部,可以有属性和方法,而外 ...
- 反射工具类.提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class,被AOP过的真实类等工具函数.java
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.Validate; import org.ap ...
- Python访问私有变量
代码: class Counter(object): __secount=0 publicfs=0 def getcount(self): self.__secount+=1 self.publicf ...
- python中的私有变量
class Test1: def f1(self): self.name ="张三" self.__age = 20 #使用名称变形实现私有变量 print(self.name) ...
- Java多线程基础——对象及变量并发访问
在开发多线程程序时,如果每个多线程处理的事情都不一样,每个线程都互不相关,这样开发的过程就非常轻松.但是很多时候,多线程程序是需要同时访问同一个对象,或者变量的.这样,一个对象同时被多个线程访问,会出 ...
- 我的Python学习笔记(三):私有变量
一.私有变量的定义 在Python中,有以下几种方式来定义变量: xx:公有变量 _xx:单前置下划线,私有化属性或方法,类对象和子类可以访问,from somemodule import *禁止导入 ...
- python 类的私有变量和私有方法
#!/usr/bin/env python # -*- coding:utf-8 -*- # @Time : 2017/11/08 8:46 # @Author : lijunjiang # @Fil ...
随机推荐
- 关于dict的formkeys方法注意
使用容器中的元素生成k, v为统一值, 指向同一个内存地址 默认值指向同一个内存, 修改就全部修改 strvar = 'abcd' listvar = [] dictvar = {} dictvar ...
- CentOS设置网络,设置IP地址
1.登录CentOS. 2.# dhclient 自动获取IP地址 3.# ip addr 1).第一个地址127.0.0.1是回环地址,网卡名叫做lo,Windows操作系统也有该地址,用来和自己通 ...
- 02-第一个Java程序
学习java的第一个程序 记录自己的学习 记录自己的坚持 记录自己的梦想 public class Hello{ public static void main(String[] args) { Sy ...
- Spark操作实战
1. local模式 $SPARK_HOME/bin/spark-shell --master local import org.apache.log4j.{Level,Logger} // 导入ja ...
- Centos配置iptables开放ftp服务
安装完vsftpd后,默认情况下,CentOS的防火墙是不开放ftp服务的,需要添加模块和开放21端口才能提供ftp访问.1.添加ip_conntrack_ftp 模块[root@hexuweb101 ...
- browserify 不打包某些文件或者把公共文件提取出来教程
var gulp = require('gulp') var fs = require("fs") var babelify = require('babelify') var b ...
- hive类型转化错误,会错误提示指定分区参数
select * from TRAD_LIST t WHERE t.dt >= '2017-10-18' and t.dt <= '2017-11-01' and t.con_level ...
- 自媒体运营排版利器----Markdown here
Markdown Here 下载chrome插件直接下载 使用:打开网页文章编辑器,比如cnblog 用markdown语法写文章,之后点击编译 可以设置好css语法,以后每次可以套用同样的模板 ...
- position:absolute溢出处理
今天在做布局的时候发现把table设置了position:absolute后 overflow居然不管用了,溢出的部分依然溢出. 百度后,才想起来... ... position后,元素已经和父元素不 ...
- django之前-----web应用与框架
一web应用 web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件.应用程序有两种模式C/S.B/S. 下面来看一个简 ...