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

news2024/11/28 2:31:47

初始化类的属性的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())

方式二:可以跳过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())

三、pytest的命名规则

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

四、方式二和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());

	}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1055798.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

001 Python开发环境搭建

1、下载python 2023/10 python-3.11.5-amd64.exehttps://www.python.org/ftp/python/3.11.5/python-3.11.5-amd64.exe 2、下载Visual Studio Code 2023/10 VSCodeSetup-x64-1.82.2.exehttps://code.visualstudio.com/docs/?dvwin64 3、安装python 双击打开python-3.11.5-a…

【Linux】RPM包使用详解

🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁 🦄 个人主页——🎐开着拖拉机回家_大数据运维-CSDN博客 🎐✨🍁 🪁🍁 希望本文能够给您带来一定的帮助🌸文…

为什么都说NFS读写性能差,如何进行优化?

使用基于NFS协议存储系统的同学经常遇到的问题是在小文件比较多的情况下性能会比较差。小文件访问性能差本身是可以理解的,但是NFS确实是太差了。不知大家是否深层次分析过,为什么NFS访问小文件性能会这么差? NFS文件系统与本地文件系统的差异在于多了一个网络传输的过程。…

阿里云RDS关系型数据库详细介绍_多版本数据库说明

阿里云RDS关系型数据库大全,关系型数据库包括MySQL版、PolarDB、PostgreSQL、SQL Server和MariaDB等,NoSQL数据库如Redis、Tair、Lindorm和MongoDB,阿里云百科分享阿里云RDS关系型数据库大全: 目录 阿里云RDS关系型数据库大全 …

AI标注,怎么做才能省时省劲,提高效率?有何技巧?

AI标注是一种借助人工智能技术为数据集添加标签的方法,这一过程旨在使机器学习算法能够更好地识别和分类数据。与传统手工标注相比,AI标注具有高效、高准确性和低成本等优势。在本文中,我们将探讨如何实施有效的AI标注策略以提高工作效率。 …

如何使用ChatGPT来辅助写简历

How to ask ChatGPT for resume help https://www.producthunt.com/stories/how-to-ask-chatgpt-for-resume-help #MixCopilot 本文作者: 摘要: 本文介绍了如何使用ChatGPT来辅助写简历。通过ChatGPT,你可以改善简历的格式和结构,…

基于Java的实验室设备借用登记系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

Java生态系统的进化:从JDK 1.0到今天

文章目录 JDK 1.0:开启Java时代JDK 1.1:Swing和内部类JDK 1.2:Collections框架和JIT编译器JDK 1.5:引入泛型和枚举JDK 1.8:Lambda表达式和流JDK 11以后:模块化和新特性未来展望1. 云原生和容器化2. 更好的性…

SpringBoot 如何解决跨域问题

Spring Boot 中的跨域请求(Cross-Origin Request)问题与解决方案 跨域请求是指浏览器从一个域名的网页去请求另一个域名的资源,它是为了增强 Web 安全性而产生的限制。Spring Boot 应用程序通常会面临跨域请求的问题,本文将介绍跨…

Java栈的压入、弹出序列(详解)

目录 1.题目描述 2.题解 方法1 方法2 1.题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序…

初识动态内存分配

目录 为什么会存在动态内存分配: malloc: free: calloc: realloc: 注意事项: 攻破经典易错题: 题目一: 存在以下两种方式进行修改: 1.利用二级指针进行修改: 2.…

加拿大人工智能数据搜索平台【Secoda】完成1400万美元A轮融资

来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,总部位于加拿大多伦多的人工智能数据搜索平台【Secoda】今日宣布已完成1400万美元A轮融资。 本轮融资由Craft Ventures领投,参与投资的投资机构有Abstract Ventures、现有投资者YCombi…

代码随想录算法训练营第五十天 |123.买卖股票的最佳时机III、188.买卖股票的最佳时机IV

一、123.买卖股票的最佳时机III 题目链接/文章讲解:代码随想录 视频讲解:动态规划,股票至多买卖两次,怎么求? | LeetCode:123.买卖股票最佳时机III_哔哩哔哩_bilibili 思考: 至多买卖两次&…

【算法挨揍日记】day09——35. 搜索插入位置、69. x 的平方根

35. 搜索插入位置 35. 搜索插入位置 题目描述: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 解题思…

德国云安全协作软件提供商【Rencore】完成800万美元融资

来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,总部位于德国慕尼黑的云安全协作软件提供商Rencore今日宣布已完成800万美元融资。 本轮融资由UVC Partners领投。 该公司打算利用这笔资金进一步投资于其云协作治理产品的增长。 Rencore由Matthi…

机器学习7:逻辑回归

一、说明 逻辑回归模型是处理分类问题的最常见机器学习模型之一。二项式逻辑回归只是逻辑回归模型的一种类型。它指的是两个变量的分类,其中概率用于确定二元结果,因此“二项式”中的“bi”。结果为真或假 — 0 或 1。 二项式逻辑回归的一个例子是预测人…

公众号留言小程序有哪些?要免费的

为什么公众号没有留言功能?2018年2月12日之后直到现在,新注册公众号的运营者会发现一个问题:无论是个人还是企业的公众号,在后台都找不到留言功能了。这对公众号来说绝对是一个极差的体验,少了一个这么重要的功能&…

掌握这些技巧,让Excel批量数据清洗变得简单高效!

什么是数据清洗 数据清洗是指在数据处理过程中对原始数据进行筛选、转换和修正,以确保数据的准确性、一致性和完整性的过程。它是数据预处理的一部分,旨在处理和纠正可能存在的错误、缺失值、异常值和不一致性等数据质量问题。 为什么要数据清洗 Exce…

南京大学【软件分析】07 Interprocedural Analysis

文章目录 1. Motivation2. Call graph Construction(CHA)2.1 方法分派Method Dispatch2.2 方法签名method signature2.3 案例:查找Dispatch2.4 CHA2.5 通过CHA构造调用图 3. Interprocedural Control-Flow Graph4. Interprocedural Data-Flow…