隐藏就是封装吧。。。。
封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。封装是一种信息隐藏技术,在java中通过关键字private实现封装。什么是封装?封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际
上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。
封装的简单例子:
先来个例子看看;
public class Man
{
//对属性的封装,一个人的姓名,年龄,妻子都是这个对象(人)的私有属性
private String name;
private int age;
private Woman wife;
//对改人对外界提供方法的封装,可以设定妻子,姓名,年龄也可以获得男人的姓名和年龄
public void setWife(Woman wife)
{
thiswife = wife;
}
public String getName()
{
return name;
}
public void setName(String name)
{
thisname = name;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
thisage = age;
}
}
public class Woman
{
//属性封装
private String name;
private int age;
private Man husband;
//方法封装
public String getName()
{
return name;
}
public void setName(String name)
{
thisname = name;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
thisage = age;
}
public Man getHusband()
{
return husband;
}
public void setHusband(Man husband)
{
thishusband = husband;
}
}
/
仔细看就会发现,Man类没有提供getWife的方法,这是以为男人不想让自己的妻子被外界访问,
直接下来呢,就是封装可以吧一个对象的属性私有,而提供一些可以被外界访问的属性的方法,
比如说,name属性,Man和Woman类都有相应的get和set方法,外界都可以通过这些方法访问和修改
同时对一些改对象不想让外界访问的属性,就不提供其方法,比如说Man的wife属性,就没有get方法
外界是不能带到Man类的wife属性的
/
上面那例子可能没有突出封装的好处,下面来个超简单的表达下:
public class Show
{
public static void show(String str)
{
Systemoutprintln(str);
}
}
上面就是对 Systemoutprintln();的封装。
调用的时候 :
public class Use
{
public static void main(String[] args)
{
Showshow("封装");
}
}
这样用的时候就不用使:Systemoutprintln("封装");
在Python中,封装程序后通常会产生两个文件,分别是源代码文件和编译后的字节码文件。
1 源代码文件:通常以py为扩展名,是我们编写的Python程序源代码文件,包括程序的各种函数、类、变量和注释等。在执行Python程序时,解释器会读取源代码文件并将其转换为字节码执行。可以通过文本编辑器打开和查看源代码文件,也可以通过Python解释器执行该程序。
2 字节码文件:通常以pyc或pyo为扩展名,是Python源代码文件经过编译后生成的二进制文件,其中包含了程序的字节码和一些元数据信息。当Python程序被执行时,解释器会首先检查是否存在编译后的字节码文件,如果存在则直接加载执行,否则会先将源代码文件编译为字节码文件再执行。可以通过Python解释器或反编译工具查看和修改字节码文件,但一般不建议手动修改字节码文件。
需要注意的是,Python的封装程序通常是通过打包工具(如pyinstaller、cx_Freeze等)将源代码文件和相关依赖项打包成可执行文件或安装包,用户可以直接运行该文件来执行Python程序。在打包过程中,封装程序会自动将源代码文件编译为字节码文件并打包到可执行文件中,用户无需手动生成字节码文件。
以上就是关于JAVA程序中封装与隐藏是什么意思全部的内容,包括:JAVA程序中封装与隐藏是什么意思、python中封装程序后,里两面有哪两个、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)