当前位置: 首页 > news >正文

网站建设从入门到精通网站ip地址大全

网站建设从入门到精通,网站ip地址大全,怎样用模块做网站,动漫设计难不难封装(Encapsulation) 1. 什么是封装? 封装(Encapsulation)是面向对象编程(OOP)中的一个重要特性。它指的是将对象的属性和行为封装在一个类中,并提供访问控制机制,防止…

封装(Encapsulation)

1. 什么是封装?

封装(Encapsulation)是面向对象编程(OOP)中的一个重要特性。它指的是将对象的属性和行为封装在一个类中,并提供访问控制机制,防止外部直接访问对象的内部数据,而是通过**公共方法(getter 和 setter)**来访问和修改数据。

封装的核心思想:

  • 隐藏对象的实现细节,只暴露必要的接口。

  • 控制数据的访问权限,防止外部程序对对象的数据进行非法操作。

  • 提高代码的可维护性和安全性


2. 封装的实现方式

封装通常通过以下方式来实现:

  1. 使用 private 关键字修饰成员变量,限制外部直接访问。

  2. 提供 public 关键字的 getter 和 setter 方法,让外部可以通过这些方法访问和修改变量。

  3. 在 setter 方法中添加逻辑,确保数据的安全性。

  4. 可以使用 protecteddefault(不写修饰符)来设置不同级别的访问权限。


3. 访问修饰符

访问修饰符当前类同包子类同包非子类其他包子类其他包非子类
private
default
protected
public
  • private:只能在当前类中访问。

  • default(默认权限):同包内可访问。

  • protected同包其他包的子类可访问。

  • public:任何地方都可以访问。


4. 封装的示例

下面是一个使用封装的示例,展示如何通过 getter 和 setter 方法来访问 private 变量。

// 定义一个 Person 类,使用封装
public class Person {// 私有成员变量private String name;private int age;// 构造方法public Person(String name, int age) {this.name = name;this.setAge(age); // 使用 setter 进行赋值}// getter 方法 - 获取 namepublic String getName() {return name;}// setter 方法 - 设置 namepublic void setName(String name) {this.name = name;}// getter 方法 - 获取 agepublic int getAge() {return age;}// setter 方法 - 设置 age,添加校验逻辑public void setAge(int age) {if (age > 0 && age < 150) {this.age = age;} else {System.out.println("年龄不合法!");}}
}// 测试封装
public class TestEncapsulation {public static void main(String[] args) {// 创建对象Person p = new Person("张三", 25);// 获取属性值System.out.println("姓名: " + p.getName());System.out.println("年龄: " + p.getAge());// 修改属性值p.setAge(200); // 不合法p.setAge(30); // 合法System.out.println("修改后年龄: " + p.getAge());}
}

运行结果:

姓名: 张三
年龄: 25
年龄不合法!
修改后年龄: 30

在上面的示例中:

  • nameageprivate 的,外部无法直接访问。

  • 通过 getName()getAge() 方法获取值。

  • 通过 setAge() 方法修改值,并在方法中添加校验逻辑,确保数据合法。


5. 封装的优点

  1. 数据安全性:防止数据被随意修改,提高安全性。

  2. 提高代码复用性:通过 setter 方法可以加入数据校验逻辑,避免重复代码。

  3. 降低耦合性:外部不需要知道类的内部实现,只需调用公开的方法。

  4. 便于维护和修改:可以在不影响外部调用的情况下修改类的内部实现。


6. 适用场景

  • 数据保护:防止数据被外部随意修改(如银行账户余额)。

  • 约束输入:在 setter 方法中添加数据校验逻辑。

  • 隐藏复杂性:让外部只关注如何使用,而不需要关心实现细节。

  • 框架开发:如 Spring 框架中的 Java Bean 规范,要求使用 private 变量+getter/setter。


7. 总结

封装是 Java 面向对象编程的三大特性之一,主要通过私有化成员变量,并提供公共的 getter 和 setter 方法来访问它们,从而提高数据安全性和程序的健壮性。

掌握封装的概念并在实际开发中应用,有助于写出更安全、可维护、低耦合的代码。

http://www.dtcms.com/a/464596.html

相关文章:

  • 有那些网站可以做担保交易的襄樊市网站建设
  • 网站建设项目团队组织结构图网站开发的交付文档
  • 分页网站电商网站更适合
  • 安全月考评哪个网站做淘宝客聚惠购的网站怎么做
  • 江门网站制作培训东莞农村商业银行
  • 阿克苏网站建设公司台州网站公司吗
  • 服务器购买网站用visual做的网站
  • 做网站时如何给文字做超链接做网站的皮包公司
  • 免展网站后台注册最先进的无锡网站建设
  • 淘宝做基础销量网站域外网站是
  • 浏览器为什么打不开网站世界建筑设计公司排名
  • html中文网站作业深圳建站推广
  • 网站开发哪家便宜公司做网站一定要钱吗
  • 网站发展趋势网站推荐你懂我的意思吧2020知乎
  • 上海定制网站开发营销推广销售的三个核心点
  • 网站制作公司 沧州益阳网站建设方案
  • 网站建设费用低的公司wordpress参考
  • 网站开发岗位内容和要求网站加速器怎么开
  • 哈尔滨做网站设计北京建筑人才招聘网
  • 网站建设kaicz政和网站建设
  • 网站最近收录装饰公司网站制作
  • 孝感网站制作凡科网站建站后 怎么编辑自己的代码源
  • 企业网站 asp php好人一生平安网站哪个好
  • 台州外贸网站重庆企业网站建设报价
  • 网站打不开dns修改戴尔网站建设目标
  • 霸县网站建设招网络推广招聘
  • vs做网站怎么加文件夹高端婚恋网站排名
  • 惠州网站制作设计seo公司后付费
  • 怎样开发网站建设短视频制作完成网站
  • 有免费建站的网站吗有免费的服务器吗