面向对象的三大特性之封装是什么?实现封装的方法(代码示例)

如果下载的源码需要作者授权,请更换源码。本站免费分享资源不会增加授权

本篇文章给大家带来的内容是介绍面向对象的三大特性之封装是什么?实现封装的方法(代码示例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

1、封装是什么?以及为什么要进行封装?

通常情况下可以给成员变量赋值一些合法但不合理的数值,这种情况在编译阶段和运行阶段都不会报错或给出任何的提示信息,此数值虽然合法但与现实生活不符;为了避免上述问题的发生,就需要对成员变量进行密封包装处理来保证该成员变量的合法合理性,这种机制就叫做封装。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制。

2、如何进行封装?

(1)私有化成员变量,使用private关键字修饰;

(2)提供公有的get和set方法,在方法体中进行合理值的判断,使用public关键字修饰;

(3)在构造方法中使用set方法进行合理值的判断;

3、事例如下/*Person.java*/

/*      编程实现Person类的封装  */ public class Person{     //1.私有化成员变量,使用private关键字修饰     private String name;      private int age;     private String country;     //使用static关键字修饰成员变量表示提升为类层级只有一份被所有对象共享     //public static String country;      //3.在构造方法中调用set方法进行合理值的判断     public Person(){     }     public Person(String name, int age, String country){         setName(name);         setAge(age);         setCountry(country);     }      //2.提供公有的get和set方法,在方法体中进行合理值的判断     public String getName(){         return name;     }     public void setName(String name){         this.name = name;     }     public int getAge(){         return age;     }     public void setAge(int age){         if(age > 0 && age < 150){             this.age = age;         }else{             System.out.println("年龄不合理!!!");         }     }     public String getCountry(){         return country;     }     public void setCountry(String country){         this.country = country;     }      public void show(){         System.out.println("我是" + getName() + ",今年" + getAge() + "岁了,来自" + getCountry() + "!");     }      //自定义成员方法描述吃饭的行为     public void eat(String food){         System.out.println(food + "真好吃!");     }     //自定义成员方法描述娱乐的行为     public void play(String game){         System.out.println(game + "真好玩!");     } }
本文由(壳先生)整理自网络,如转载请注明出处:https://www.mrshell.com;
本站发布的内容若侵犯到您的权益,请邮件联系 i@mrshell.com 删除,我们将及时处理!
===========================================================================

1. 本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行测试。
2. 本站资源仅供学习和交流使用,版权归资源原作者所有,请在下载后24小时之内自觉删除。
3. 不得使用于非法商业用途,商用请支持正版!不得违反国家法律,否则后果自负!
4. 若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,与本站无关。
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!

=================================================================

壳先生 » 面向对象的三大特性之封装是什么?实现封装的方法(代码示例)

发表评论

提供最优质的资源集合

立即查看 了解详情