JAVA学习第七课(封装及其思想)
2014-09-08 17:09
309 查看
封装(Encaplusation):
指:隐藏对象的属性和实现细节,只对外提供公共访问方式
优点:
1。将变化隔离
2.便于使用
3.提高重要性
4.提高安全性
封装原则:
1.将不需要对外提供的的内容隐藏起来
2.将属性隐藏,进对外提供其公共访问方式
事例代码:
class man
{
private int age;//年龄
private String sex;//性别
public void change(int a,String b)
{
if(a < 0 || a>130)
{
System.out.println("错误数据");
return ;
}
age = a;
sex = b;
fun();
}
void fun()
{
System.out.println("age = "+age+",sex = "+sex);
}
}
public class Main
{
public static void main (String[] args)
{
man jo = new man();
//jo.age = -20;这样就有不安全性,所以用private,将成员属性私有,外界就无法访问
jo.change(20,"man");
}
}
在实际开发过程中,已经形成了一种规范
书写规范:set(存放数据) 和 get(得到数据)
class man
{
private int age;//年龄
private String sex;//性别
public void setage(int a,String b)//存放
{
if(a < 0 || a>130)
{
System.out.println("错误数据");
return ;
}
age = a;
sex = b;
}
public int getage() //获取
{
return age;
}
void fun()
{
System.out.println("age = "+age+",sex = "+sex);
}
}
public class Main
{
public static void main (String[] args)
{
man jo = new man();
jo.setage(20, "fa");
int ag = jo.getage();
System.out.println(ag);
}
}
上述代码就是简单的封装性的体现,最明显的体现就是安全性,注意一点就是属性一般都是隐藏的。
封装的思想:
例子:各种电器就是一个很好的封装体,电器的开关,就是对外提供的访问方式,至于内部怎么访问,就不需要了解了,对用户是隐藏的。
当然,对象也是如此。
private 私有,是一个权限修饰符,权限最小,只能修饰成员,不能修饰局部
私有内容只在本类中有效
public 共有,权限最大
注意:private私有仅仅是封装的一种体现,私有是封装,封装并不代表私有
类、框架本身就是一个封装体
小练习:
封装完成,10个数的插入排序功能。
代码:
import java.util.Scanner;
import javax.naming.ldap.SortControl;
class jo
{
public void set(int a[])//公共访问方式
{
intsrtsort(a);
}
private static void intsrtsort(int a[])//插入排序
{
int len = a.length;
for(int i = 1;i<len;i++)
{
if(a[i] <a[i-1])
{
int t = a[i],j;
a[i] = a[i-1];
for(j = i-2;j>=0 && a[j] > t;j--)
{
a[j+1] = a[j];
swap(a, j+1, j);
}
a[j+1] = t;
}
}
}
private static void swap(int a[],int x,int y)//改变数值
{
a[x] = a[y];
}
}
public class Main
{
public static void main (String[] args)
{
int a[] = new int[10];
Scanner cin = new Scanner(System.in);
System.out.println("输入10个数,实现插入排序:");
for(int i = 0;i<10;i++)
{
a[i] = cin.nextInt();
}
jo haha = new jo();//定义对象
haha.set(a);//存放数据
System.out.println("排序结果如下:");
show(a);//显示结果
cin.close();
}
static void show(int a[])
{
for(int i = 0;i < 10 ; i++)
{
System.out.print(a[i]+" ");
}
}
}
指:隐藏对象的属性和实现细节,只对外提供公共访问方式
优点:
1。将变化隔离
2.便于使用
3.提高重要性
4.提高安全性
封装原则:
1.将不需要对外提供的的内容隐藏起来
2.将属性隐藏,进对外提供其公共访问方式
事例代码:
class man
{
private int age;//年龄
private String sex;//性别
public void change(int a,String b)
{
if(a < 0 || a>130)
{
System.out.println("错误数据");
return ;
}
age = a;
sex = b;
fun();
}
void fun()
{
System.out.println("age = "+age+",sex = "+sex);
}
}
public class Main
{
public static void main (String[] args)
{
man jo = new man();
//jo.age = -20;这样就有不安全性,所以用private,将成员属性私有,外界就无法访问
jo.change(20,"man");
}
}
在实际开发过程中,已经形成了一种规范
书写规范:set(存放数据) 和 get(得到数据)
class man
{
private int age;//年龄
private String sex;//性别
public void setage(int a,String b)//存放
{
if(a < 0 || a>130)
{
System.out.println("错误数据");
return ;
}
age = a;
sex = b;
}
public int getage() //获取
{
return age;
}
void fun()
{
System.out.println("age = "+age+",sex = "+sex);
}
}
public class Main
{
public static void main (String[] args)
{
man jo = new man();
jo.setage(20, "fa");
int ag = jo.getage();
System.out.println(ag);
}
}
上述代码就是简单的封装性的体现,最明显的体现就是安全性,注意一点就是属性一般都是隐藏的。
封装的思想:
例子:各种电器就是一个很好的封装体,电器的开关,就是对外提供的访问方式,至于内部怎么访问,就不需要了解了,对用户是隐藏的。
当然,对象也是如此。
private 私有,是一个权限修饰符,权限最小,只能修饰成员,不能修饰局部
私有内容只在本类中有效
public 共有,权限最大
注意:private私有仅仅是封装的一种体现,私有是封装,封装并不代表私有
类、框架本身就是一个封装体
小练习:
封装完成,10个数的插入排序功能。
代码:
import java.util.Scanner;
import javax.naming.ldap.SortControl;
class jo
{
public void set(int a[])//公共访问方式
{
intsrtsort(a);
}
private static void intsrtsort(int a[])//插入排序
{
int len = a.length;
for(int i = 1;i<len;i++)
{
if(a[i] <a[i-1])
{
int t = a[i],j;
a[i] = a[i-1];
for(j = i-2;j>=0 && a[j] > t;j--)
{
a[j+1] = a[j];
swap(a, j+1, j);
}
a[j+1] = t;
}
}
}
private static void swap(int a[],int x,int y)//改变数值
{
a[x] = a[y];
}
}
public class Main
{
public static void main (String[] args)
{
int a[] = new int[10];
Scanner cin = new Scanner(System.in);
System.out.println("输入10个数,实现插入排序:");
for(int i = 0;i<10;i++)
{
a[i] = cin.nextInt();
}
jo haha = new jo();//定义对象
haha.set(a);//存放数据
System.out.println("排序结果如下:");
show(a);//显示结果
cin.close();
}
static void show(int a[])
{
for(int i = 0;i < 10 ; i++)
{
System.out.print(a[i]+" ");
}
}
}
相关文章推荐
- JAVA学习第十八课(异常及其思想 (一) )
- JAVA基础第五天学习日记_面向对象开发思想、匿名对象、封装、私有、构造函数
- java日常学习:封装及其使用
- Java基础学习笔记(七)Set接口及其实现子类
- Java学习的30个目标及其阶段分类
- Java学习,数组的相关操作,封装类,Class类,反射API
- 学习Java语言思想 了解Java语言优势
- Java核心思想学习笔记002(Static Fields and Methods)
- bitmap思想及其在java中的相关实现
- 常见算法学习及其Java实现--有序区和无序区的冒泡算法实现
- 常见算法学习及其Java实现--冒泡算法实现
- java编程思想学习笔记(二)
- Java的“对象思想”学习笔记[二]
- java面向对象思想学习整理
- (Java2D 学习笔记系列) (一)一个简单的图像填充实例及其分析理解
- Java编程思想学习笔记——枚举、注解
- Java核心思想学习笔记001(Method Parameters)
- JAVA编程思想学习笔记
- Java学习笔记1------颠覆传统-面向对象的设计思想(序章)
- java编程思想学习笔记(一)