• python和java类的编写(属性私有化,方法公开化)


    初始化类的属性的2种写法:
    如下要注意python对文件名称、类、方法名的命名
    在这里插入图片描述

    方式一:原始的定义

    class User1:
    # 初始化账号和密码
    def __init__(self):
        # 账号和密码
        self.__username = None
        self.__password = None
    
    def getnsername(self):
        return self.__username
    
    def getpassword(self):
        return self.__password
    
    def setusername(self, username):
        self.__username = username
    
    def setpassword(self, password):
        self.__password = password
    
    
    if __name__ == '__main__':
    	usr1 = User1()
     	usr1.setusername("admin")
    	usr1.setpassword("8888")
    	print(usr1.getnsername())
    	print(usr1.getpassword())
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    方式二:可以跳过pytest的限制(pytest的对类的方法不能有init()方法)

    class User:
    # 初始化类的属性:账号、密码
    __username = None
    __password = None
    
    def getname(self):
        return self.__username
    
    def getpassword(self):
        return self.__password
    
    def setusername(self, username):
        self.__username = username
    
    def setpassword(self, password):
        self.__password = password
    
    
    if __name__ == '__main__':
    	usr = User()
    	usr.setusername("admin")
    	usr.setpassword("8888")
    	print(usr.getname())
    	print(usr.getpassword())
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    三、pytest的命名规则

    1.模块名必须以test_开头或者以_test结尾
    2.测试类必须以Test开头,并且不能有init方法
    3.测试方法以test开头
    
    • 1
    • 2
    • 3

    四、方式二和java的对类的定义是一样的:
    在这里插入图片描述
    创建User类:(可以对比其相似度)

    public class User {
    	private String username;
    	private String password;
    
    	public User() {
        	super();
    	 }
    
    	public String getUsername() {
        	return username;
    		}
    
    	public String getPassword() {
        		return password;
    		}
    
    	public void setUsername(String username) {
       		 this.username = username;
    		}
    
     	public void setPassword(String password) {
        			this.password = password;
    	 		}
    
    		public User(String username, String password) {
        			this.username = username;
       		 		this.password = password;
    		}
    
    	@Override
    	 public String toString() {
        		return "User{" +
                	"username='" + username + '\'' +
               	 ", password='" + password + '\'' +
               	 '}';
    		}
    
    	public static void main(String[] args) {
       		User user = new User();
        	user.setUsername("admin");
       		user.setPassword("8888");
        	System.out.println(user.getUsername());
        	System.out.println(user.getPassword());
    
    	}
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
  • 相关阅读:
    Python 题库自动化面试题
    【VScode】好用插件集合
    springboot毕设项目滁州学院体育馆管理h78n6(java+VUE+Mybatis+Maven+Mysql)
    IDEA本地将镜像推送到coding制品仓库
    跨境erp系统功能分析
    2.9 GBDT模型(上篇)
    Redis 数据一致性方案的分析与研究
    二、MAVEN的安装和配置
    设计模式学习笔记 - 面向对象 - 1.面向对象到底讨论的是什么
    小米妙想PC端连接平板5教程
  • 原文地址:https://blog.csdn.net/qq_38135191/article/details/133487357