封装的概念,作用,使用场景及步骤及简单例子

  1. 概念:
    就是通过访问权限修饰符修饰 类或者类中的成员,而达到保护内部成员安全的目的,就是封装。
    访问权限修饰符:控制访问范围
    public 公共的,最大权限,被其修饰的成员,在任意包下、类中,都可以访问到 (所有类)
    protected 受保护的,在同包类和子类中都可以访问
    默认不写 只能在同包类中访问
    private 私有化的,被其修饰的成员,只能在当前类中访问

  2. 作用:
    保护内部数据

  3. 使用场景:
    1.不希望在外部类中随意访问类中的成员变量
    2.达到权限要求的才能访问。
    3.只是获取数据的时候,例如 单例模式

  4. 步骤:
    1.私有化成员变量(用private修饰成员变量)
    2 为每一个成员变量提供合理的返回值类型 getXxx()方法 获取成员变量的值,如果当前成员变量类型是boolean类型,将getXxx()改为 isXxx()
    void setXxx(…)方法 设置成员变量的值
    3.提供一个无参构造
    4.该类用public修饰

  5. 例子
    业务类为Account ;测试类为AccountTest

业务类:Account

package package1;
/**
 * 封装
 * 1.概念,就是通过访问权限修饰符修饰 类或者类中的成员,而达到保护内部成员安全的目的,就是封装。
 			访问权限修饰符:控制访问范围
 				public		公共的,最大权限,被其修饰的成员,在任意包下、类中,都可以访问到 (所有类)
 				protected	受保护的,在同包类和子类中都可以访问
 				默认不写		只能在同包类中访问
 				private		私有化的,被其修饰的成员,只能在当前类中访问
 
 	2. 封装作用:
 			1. 保护内部数据
 		
 	3. 使用场景:
 			1. 不希望在外部类中随意访问类中的成员变量
 			2. 达到权限要求的才能访问。
 			3. 只是获取数据的时候,例如 单例模式
 * 4.封装步骤:
 * 业务类:成员变量包括:name,password,money,vip修饰符用private
 * 
 * 步骤: 1. 私有化成员变量(用private修饰成员变量)
 			 2. 为每一个成员变量提供合理的		
 					返回值类型 getXxx()方法	获取成员变量的值,如果当前成员变量类型是boolean类型,
 					将getXxx()改为 isXxx()
 					
 					void setXxx(...)方法	设置成员变量的值
 			 3. 提供一个无参构造
 			 4. 该类用public修饰
 * @author 
 */
public class Account {
	/** String 类型的成员变量name  私有化成员变量,用private修饰 */
	private String name;
	
	/** String类型的成员变量pwd  私有化成员变量,用private修饰 */
	private String pwd;
	
	/** double类型的成员变量money 私有化成员变量,用private修饰 */
	private double money;
	
	/** boolean类型的成员变量vip 私有化成员变量,用private修饰 */
	private boolean vip;
	
	//无参构造
	public Account() {};
	
	//有参构造
	public Account(String n,String p,double m,boolean v){
		name = n;
		pwd = p;
		money = m;
		vip = v;
	}
	
	/**
	 * 定义方法getName,获取name的值。
	 * @return
	 */
	public String getName() {
		return name;
	}
	
	/**
	 * 定义方法getPwd,获取pwd的值。
	 * @return
	 */
	public String getPwd() {
		return pwd;
	}
	
	/**
	 * 定义方法getMoney,获取money的值。
	 * @return
	 */
	public double getMoney() {
		return money;
	}
	
	/**
	 * 定义方法isVip,获取vip的值。
	 * @return
	 */
	public boolean isVip() {
		return vip;
	}
	
	/**
	 * 定义方法setName,给成员变量赋值。
	 * @param n 赋值给成员变量name的值。
	 */
	public void setName(String n) {
		name = n; // 将局部变量n赋值给成员变量name
	}
	
	/**
	 * 定义方法setPwd,给成员变量赋值。
	 * @param p 赋值给成员变量pwd的值。
	 */
	public void setPwd(String p) {
		pwd = p; // 将局部变量p赋值给成员变量pwd
	}
	
	/**
	 * 定义方法setMoney,给成员变量赋值。
	 * @param m 赋值给成员变量money的值。
	 */
	public void setMoney(double m) {
		money = m; // 将局部变量m赋值给成员变量money
	}
	
	/**
	 * 定义方法setVip,给成员变量赋值。
	 * @param v 赋值给成员变量vip的值。
	 */
	public void setVip(Boolean v) {
		vip = v; // 将局部变量m赋值给成员变量money
	}
	
	
	
}

测试类AccountTest

package package1;
/**
 * Account测试类
 * 封装的引入
 * @author 
 *
 */
public class AccountTest {

	public static void main(String[] args) {
		Account acc1 = new Account();
		
		//acc1.name = "大黑蛋子";// 报错,对象acc1中name成员变量为私有成员变量,不能直接赋值,那么怎么半?我们直接用有参构造来赋值。
		
		Account acc2 = new Account("大黑蛋子" , "123456" , 100 , false);
		
		//System.out.println(acc2.name);// 报错,对象acc2中成员变量为私有成员变量,不能使用,此时我们可以在业务类Account中通过方法来得到,此时我们调用方法getName
		
		String name = acc2.getName();//得到了name的值。
		String pwd = acc2.getPwd();
		boolean vip = acc2.isVip();
		double money = acc2.getMoney();
		System.out.println("acc2的名字为 :" + name);//  打印结果:acc2的名字为 :大黑蛋子。若要修改name的值,那么需要在业务类Account中定义方法setName来进行修改
		System.out.println("acc2的密码为 :" + pwd);//   acc2的密码为 :123456
		System.out.println("acc2是否为vip :" + vip);//   acc2是否为vip :false
		System.out.println("acc2的钱是 :" + money);//  acc2的钱是 :100.0
		
		acc2.setName("大脸盘子");
		acc2.setPwd("147258369");
		acc2.setMoney(200);
		acc2.setVip(true);
		
		//重新调用get方法,得到新的值
		String name1 = acc2.getName();//得到了name的值。
		String pwd1 = acc2.getPwd();
		boolean vip1 = acc2.isVip();
		double money1 = acc2.getMoney();
		
		System.out.println("acc2的名字目前为 :" + name1);//  打印结果:acc2的名字为 :大脸盘子
		System.out.println("acc2的密码目前为 :" + pwd1);//   acc2的密码为 :147258369
		System.out.println("acc2目前是否为vip :" + vip1);//   acc2是否为vip :true
		System.out.println("acc2的钱目前是 :" + money1);//  acc2的钱是 :200.0
		
		
		
	}

}

运行结果为:

acc2的名字为 :大黑蛋子
acc2的密码为 :123456
acc2是否为vip :false
acc2的钱是 :100.0
acc2的名字目前为 :大脸盘子
acc2的密码目前为 :147258369
acc2目前是否为vip :true
acc2的钱目前是 :200.0
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Playwright 是一个跨浏览器自动化工具,支持 Chrome、Firefox 和 Safari 浏览器。使用 Python 封装 Playwright 可以方便地实现自动化测试、爬虫等应用场景。 以下是使用 Python 封装 Playwright 的步骤: 1. 安装 Playwright 和 Python 的相关依赖库。可以参考 Playwright 官方文档和 Python 官方文档进行安装。 2. 导入 Playwright 的 Python 封装库。可以使用以下代码进行导入: ```python from playwright.sync_api import Playwright, sync_playwright ``` 3. 创建一个浏览器实例。可以使用以下代码创建一个 Chrome 浏览器实例: ```python with sync_playwright() as p: browser = p.chromium.launch() ``` 4. 创建一个浏览器页面。可以使用以下代码创建一个页面: ```python with sync_playwright() as p: browser = p.chromium.launch() page = browser.new_page() ``` 5. 在页面上执行一些操作。可以使用 Playwright 提供的 API 来执行一些常见的操作,例如打开网页、输入文本、点击按钮等等。以下是一个例子: ```python with sync_playwright() as p: browser = p.chromium.launch() page = browser.new_page() page.goto('http://example.com') page.fill('input[name="q"]', 'playwright') page.click('input[type="submit"]') ``` 6. 关闭浏览器实例。可以使用以下代码关闭浏览器实例: ```python with sync_playwright() as p: browser = p.chromium.launch() page = browser.new_page() # do something... browser.close() ``` 以上就是使用 Python 封装 Playwright 的基本步骤,可以根据具体应用场景进行扩展和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值