字段的封装必须要设置成private吗?还是也可以设置成public等其他访问方式?

问题描述

字段的封装必须要设置成private吗?还是也可以设置成public等其他访问方式?

字段的封装必须要设置成private吗?还是也可以设置成public等其他访问方式?
1. public class Student

2. {

3. private int age;

4. public int Age

5. {

6. get{return age;}

7. set{age = value;}

8. }

9. public string name;

10. }

解决方案

 最好还是设置为private,这样比较安全。外部不能直接访问你的属性。如果要获取或者更改,就用getter和setter方法。

解决方案二:

当字段为 public 时,其他对象可以直接访问该字段并对其进行修改,而不会被拥有该字段的对象检测到。通过使用 private 属性封装该字段,可以禁止对字段的直接访问

解决方案三:

这是J2EE的规范,其实大部分情况下是一样的,但是这个规范有个明显的好处对属性值的修改或读取都封装在方法中,方便后面的扩展处理。

时间: 2024-10-21 11:49:05

字段的封装必须要设置成private吗?还是也可以设置成public等其他访问方式?的相关文章

c#封装-新手,C#的类中有关添加字段和封装属性的问题

问题描述 新手,C#的类中有关添加字段和封装属性的问题 各位大神,我是一个学习c#的新手,我想请教一个问题,在一个类中如何定义一个私有字段,然后再对这个字段封装属性,比如字段-name,能把相关代码下写一下吗? 解决方案 class A{ private string _Name; public string Name { get { return _Name; } set { _Name = value; } }} 解决方案二: 但是,其实私有的后备字段不要写,上面的代码,在C# 3.0以上更

tacacs+认证ARAP类型时start报文data字段怎么封装?

问题描述 tacacs+认证ARAP类型时start报文data字段怎么封装? 编写Tacacs+客户端,使用Tacacs+协议认证,当认证方式为ARAP时start报文的data字段该怎么封装? 解决方案 http://zhidao.baidu.com/link?url=NCT7wQ4CHRSpzYzHRfQV63z6X7b9wWx7kYP8qP_oR0Q02Wpd6u9lz1YVy0zKOHJt7BAo-m1dPTtsLZRwcLqJV8X6VoYGQJqCjH2qejVVJam 解决方案二

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(23)-设置角色遗留问题和为权限设置角色以及EasyUI Tabs的使用

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(23)-设置角色遗留问题和为权限设置角色以及EasyUI Tabs的使用 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装          (5):前台Jquery easyUI实现   (6):EF上下文实例管理    (7):DBSession的封装   (8):DBSessi

PS把照片白底改成蓝底,蓝底换成白底,蓝底改红底教程

  通常我们需要将照片的背景色进行适当的改变以满足特定的需要.实现这一目地的重要方法是利用PS来实现的,因为其强大的图像处理能力,使之可以满足我们多样化的需求.下面小编就为大家分享一篇PS把照片白底改成蓝底,蓝底换成白底,蓝底改红底教程,一起来看看吧! 在我们的学习和生活中,证件照是必须的,例如考试.申请书.档案.简历等,都需要证件照.然而,证件照的标准并没有统一,有时需要白底,有时需要蓝底,有时需要红底--有时我们手里只有一张白底的照片,而规定有必须交蓝底的,这会让我们和苦恼--重新照吗?尽管

更新-thinkphp修改bit类型表数据,只能从0修改成1,不能从1修改成0

问题描述 thinkphp修改bit类型表数据,只能从0修改成1,不能从1修改成0 如题,tp3.2.2版本,用tp修改User表数据时,sex字段用bit类型,0代表女,1代表男,页面用radio类型单选框,在修改页面能够获取数据库中的数据并显示,但在修改时,只能从女修改成男,不能从男修改成女.前者提示修改成功,数据库中数据也更新,后者提示失败,数据库中数据不更新 解决方案 $sex='0'; $data['sex']=(bool)$sex; $M->save($data); 解决方案二: $

配置管理-struts2把Action配成login就报错,配成其他的就不会,这是为何?

问题描述 struts2把Action配成login就报错,配成其他的就不会,这是为何? jsp代码,就是在body上加个表单,表单内容如下: <form action=""login.action"" method=""post""> <table> <tr> <td>用户名:</td> <td><input type=""te

毕业设计-安卓闹钟设置多个,只有第一个设置的闹钟能正确进行闹铃提醒

问题描述 安卓闹钟设置多个,只有第一个设置的闹钟能正确进行闹铃提醒 毕业设计做的是基于安卓平台的备忘录闹钟,整个程序可以运行,但是闹钟可以新建多个,只有第一个设置的闹钟可以 正确进行提醒,后面的闹钟事件一到时间整个程序就会出错,求大神帮忙,本来对安卓知识就知道甚少,也不会进行错误调试,希望能有大神来帮我看一下,谢谢了. 这是闹钟事件触发时弹出的提醒对话框的java方法: public class AlertDialogActivity extends Activity implements On

关于LinearLayout设置权重后width或height不设置0dp的影响说明

摘要 平时没那么注意LinearLayout布局时权重的问题,设置了权重属性后,通常建议将width或height的属性值设置为0dp,有时候设置权重后,还是习惯将width或height的属性设置为wrap_content,这会有什么影响吗?做完了"掌上平桂"项目后,发现新闻栏目的多图展示,总是出现三张图无法平均分配空间的问题,其中一个原因,每一张图片的尺寸不同,最初的猜想可能网络加载数据延时的问题或是ViewHolder类的问题.最后发现原因是权重设置的问题. 二.多张图布局设计

为什么我设置EMPushNotificationOptions返回error 是nil,设置也不...

问题描述 **为什么我设置EMPushNotificationOptions返回error 是nil,设置也不对?** 解决方案 EMPushNotificationOptions设置需要在您获取deviceToken成功后才能设置.请先确定deviceToken获取没问题.