如果程序要将属性name age sex 封装 该怎么改程序?

问题描述

classPerson{publicStringname;publicintage;publicintsex;voidstudy(){System.out.println("studying");}voidshowage(){System.out.println("Age="+age);}voidaddage(inti){//这的inti是什么作用为什么前面的study(),和showage()没有属性intsum=age+i;System.out.println("Sex="+sum);}}publicclassTestPerson{publicstaticvoidmain(Stringarge[]){Personp=newPerson();p.name="张三";p.age=20;p.study();p.showage();p.addage(19);}}

解决方案

解决方案二:
//这的inti是什么作用为什么前面的study(),和showage()没有属性这个i是用来指定增加几岁的参数,前面的study()和showage()最多只读取变量值,没有任何set(设定)操作,所以不需要参数
解决方案三:
引用1楼Android_iPhone的回复:

//这的inti是什么作用为什么前面的study(),和showage()没有属性这个i是用来指定增加几岁的参数,前面的study()和showage()最多只读取变量值,没有任何set(设定)操作,所以不需要参数

那请问如果上面的程序我把程序的nameagesex用private私有化的话是不是一定要用到setter和getter呢?
解决方案四:
引用2楼jjc850109的回复:

Quote: 引用1楼Android_iPhone的回复:
//这的inti是什么作用为什么前面的study(),和showage()没有属性这个i是用来指定增加几岁的参数,前面的study()和showage()最多只读取变量值,没有任何set(设定)操作,所以不需要参数

那请问如果上面的程序我把程序的nameagesex用private私有化的话是不是一定要用到setter和getter呢?

是一定要用到setter和getter的,要不然这些被private私有化的成员就被外界访问不到了……

时间: 2024-10-29 21:54:47

如果程序要将属性name age sex 封装 该怎么改程序?的相关文章

c#-【强迫症】编写C#程序时定义属性遇到的问题

问题描述 [强迫症]编写C#程序时定义属性遇到的问题 在一个类中定义属性时: private string adminName; public string AdminName { get { return adminName; } set { adminName = value; } } 这算比较常规的写法吧. 可是我在阅读开源项目的例子时,见到了这样的写法 public string AdminName { get; set; } 请问,上面的这种写法正确吗?定义类的属性时,这么用对吗? 与

c语言-C语言怎样编写程序运行完后,不自动结束,而是返回程序的开始的主菜单?

问题描述 C语言怎样编写程序运行完后,不自动结束,而是返回程序的开始的主菜单? 我的程序运行完一个功能后按任意键就退出了,而不是返回主菜单 代码如下,应该怎么改?(具体一点,菜鸟一个)多谢! #include #include #include #include #include #define LENTEL sizeof(tel) #define ID struct tel struct tel { char name[15]; char tele[11]; char style[15]; c

win7系统文件夹属性中隐藏选项显示灰色不可改怎么办

  文件夹属性中隐藏选项显示灰色不可改故障图: 操作步骤: 1.首先鼠标右击文件夹选择重命名将文件夹的名称更改为非中文的名称,比如"feichengwurao"; 2.然后在开始菜单中搜索cmd,然后选择以管理员命令打开它,之后输入下面的命令,每输一行都回车一次; F: CD dianying Attrib-s-r-h feichengwurao 3.命令运行之后,就就可以看到隐藏属性不再显示为不可选的灰色了哦,问题解决.

嵌入式程序的设计方式,怎么把exe执行放在窗体程序中作为子程序?

问题描述 嵌入式程序的设计方式,怎么把exe执行放在窗体程序中作为子程序? 怎么设计windows嵌入式程序,怎么把程序嵌套在一起主程序将exe作为子程序在窗体内调用? 解决方案 使用setparent函数设置目标程序作为子程序运行.

日志采集-在应用程序监控系统的设计中,有没有针对应用程序埋点获取目标数据的研究?

问题描述 在应用程序监控系统的设计中,有没有针对应用程序埋点获取目标数据的研究? 怎么埋点的?埋点这个名词在业内好像并没有统一吧?有些监控信息直接从应用程序日志里面获取就行,但是客户端(PC或移动端)是不是通过埋点上传数据给服务器?这里面有没有关于埋点的方法论?或者成体系的文献之类的东西? 解决方案 有的,你可以看看万方上的论文.主要是数据分析这块.

属性查询-hql中自动生成的通过一个属性和属性值查询记录的方法怎么改成通过一个属性和该属性的多个值查?

问题描述 hql中自动生成的通过一个属性和属性值查询记录的方法怎么改成通过一个属性和该属性的多个值查? 解决方案 hql中用and来合并条件

下面的程序为什么不对? 只有将puts(n);改成printf("%d",n);时才对。 为什么?

问题描述 下面的程序为什么不对? 只有将puts(n);改成printf("%d",n);时才对. 为什么? system("color 2f"); int i,n; char s1[50]; gets(s1); i=0; n=0; while(s1[i+1]!='') { if(s1[i]+1==s1[i+1]) n++; i++; } puts(n); system("pause"); 解决方案 puts(s);puts(s) 等效于prin

r语言-在C# 程序里 调用R语言 调用完R语言后C#程序也跟着结束了,怎么让他不跟着结束呢?

问题描述 在C# 程序里 调用R语言 调用完R语言后C#程序也跟着结束了,怎么让他不跟着结束呢? 我程序里调用R语言的代码是这样的 REngine.SetEnvironmentVariables(); REngine engine = REngine.GetInstance(); engine.Evaluate(R_cmd); engine.Evaluate("q()"); engine.Dispose(); 这样有什么问题吗? 解决方案 你C#怎么写的?控制台程序可以加上一个Cons

请问怎么在程序中以对话框的形式加载另一个exe程序

问题描述 请问怎么在程序中以对话框的形式加载另一个exe程序 请问怎么在程序中以对话框的形式加载另一个exe程序,同时怎么把这个程序中的数据发送到那个程序里,谢谢 解决方案 用shellexecute载入你的程序,用setparent设置程序的父窗体为你的窗体. 解决方案二: 用这个java为例子吧 首先你要做这个swing界面的对话框 (不会可以看看对话框打开的方法 swing ) 第二部你然后通过对话框去选择你的exe程序 这个时候把这个exe当文件看待 第三步是重点了: 如何执行程序 Ru