面向对象的三个基本特征(封装)
来源:互联网 发布:单片机采样频率 编辑:程序博客网 时间:2024/05/22 04:29
面向对象的三个基本特征是:封装、继承、多态
封装 :
百度上解释的方法为:
前面有private 修饰的【属性】或者是【方法】, 不能【直接】被外部类的实例化对象访问,这样就是封装。
封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。
要访问该类的代码和数据,必须通过严格的接口控制。
封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。
适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。
封装的优点
1. 良好的封装能够减少耦合。
2. 类内部的结构可以自由修改。
3. 可以对成员变量进行更精确的控制。
4. 隐藏信息,实现细节。
下面来看几个例子
例1:
修改属性的可见性来限制对属性的访问(一般限制为private),这段代码中,将 name 和 age 属性设置为私有的,只能本类才能访问,其他类都访问不了,如此就对信息进行了隐藏。
public class Person { private String name; private int age;}
例2:
public class Person{ private String name; private int age; public int getAge(){//对age的取值方法 return age; } public String getName(){//对name的取值方法 return name; } public void setAge(int age){//对age的赋值方法 this.age = age; } public void setName(String name){//对name的赋值方法 this.name = name; }}
对每个私有值属性提供对外的公共方法用来访问,也就是创建一对赋取值方法,即例2中的getAge,getName,Setname,Setage用于对私有属性的访问
例3
public class Student {//静态的数据 String name; int id; //学号 int age; String gender; int weight;//动态的行为 public void study(){ System.out.println(name+"在學習"); } public void sayHello(String sname){ System.out.println(name+"向"+sname+"說:你好!"); }}
public class Test1 { public static void main(String[] args) {Student s1 = new Student();s1.name = "小明";s1.study();//通过接口控制来调用封装好的类里面的方法s1.sayHello("mary);Student s2 = new Student();s2.age = 18;s2.name="小兔崽子";}}
这不是封装,因为没有用private来修饰的东西,在一个类没有用private来修饰的属性或者是方法阅读全文
0 0
- 面向对象的三个基本特征(封装)
- 面向对象的三个基本特征(讲解)
- 面向对象的三个基本特征(讲解)
- 面向对象的三个基本特征(讲解)
- 面向对象的三个基本特征(讲解)
- 面向对象的三个基本特征(讲解)
- 面向对象的三个基本特征(讲解)
- 面向对象的三个基本特征(讲解)
- 面向对象的三个基本特征(讲解)
- 面向对象的三个基本特征(讲解)
- 面向对象的三个基本特征(讲解)
- 面向对象的三个基本特征(讲解)
- 面向对象的三个基本特征(讲解)
- 面向对象的三个基本特征(讲解)
- 面向对象的三个基本特征(讲解)
- 面向对象的三个基本特征(讲解)
- 面向对象的三个基本特征(讲解)
- 面向对象的三个基本特征(讲解)
- First day lab!
- jqurey
- 安装绿色版MySQL Community Server 5.7.16并实现远程登录
- React 组件声明生命周期
- 第五章 引用类型(上)
- 面向对象的三个基本特征(封装)
- 弹性布局时div被内容撑开问题
- apk加固原理之解密壳工程
- python GC(Garbage collection )、属性访问拦截器、getattribute()
- Android-区分 View 的 translationX、Y , X、Y 和 Left、Top,Right、Bottom
- js轮播图
- 448. Find All Numbers Disappeared in an Array
- SwitchHosts—hosts管理利器
- Redis简介