JAVA学习第七课(封装及其思想)
来源:互联网 发布:linux mysql高可用 编辑:程序博客网 时间:2024/05/21 09:50
封装(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 0
- JAVA学习第七课(封装及其思想)
- JAVA学习第十八课(异常及其思想 (一) )
- Java编程思想第四版第七章学习(2)
- java编程思想第七章(复用类)学习笔记
- java编程思想学习笔记(第七章:复用类)
- JAVA编程思想学习 --- 第七章 (多行性)
- Java编程思想(第七章)
- java日常学习:封装及其使用
- java 第七课 隐藏和封装
- JAVA第七弹(对象封装)
- Java编程思想第四版第七章学习(1)——基类初始化
- java编程思想学习笔记 第七章 复用类
- JAVA编程思想学习第七篇の复用类
- JAVA编程思想学习总结:第七章——复用类
- Java编程思想第七章多态
- Java SE学习笔记:深入变量、封装思想
- java编程思想(第四版)第七章
- 《java编程思想》P125-P140(第七章复用类部分)
- poj 3070 Fibonacci
- [面试题]虚函数和纯虚函数
- Codeforces 292D. Connected Components
- php 连接数据库
- MAC下的mysql安装、设置及删除
- JAVA学习第七课(封装及其思想)
- 智能指针的研究
- 软考进行时——数据结构
- 效率优化的一些体会
- hdu2547有剑无我
- 用SharePreference实现简单的保存账号密码
- Codeforces 464B Restore Cube(暴力)
- KMP模式匹配算法
- 链表有环问题