封装性是java面向对象的特征之一;
三大特性之一,封装性;
1.封装是一个面向对象的术语,其含义其实很简单,就是把东西包装起来。
2.面向对象的思想,我的理解是面向结果,即不关心事件发生的过程,如炒菜步骤:洗菜—炒菜—出锅。但在面向对象思想里面只关注出锅的成品。而封装就符合这个思想,把一个项目的各个步骤的大体框架列出来,然后填充框架,不关心这一步你是怎么执行的,比如排序,你用选择也好,快排也好,不管白猫黑猫只要抓住老鼠都是好猫。只关心结果。
3.这样可以是使代码更具有条理性,逻辑性。
4.同时因为代码每部分都模块话更容易进行调试,修改,更加灵活。
5.可以隐藏内部细节,只对外提供公共访问方式,提高了安全性。
package day14; import java.util.Scanner; public class GameTest { public static void main(String[] args) { //1.玩游戏,创建游戏对象 Game g=new Game(); //2.得到英雄对象 Hero h=getHero(); //3.运行方法 g.play(h); } private static Hero getHero(){ Hero h; Scanner sc=new Scanner(System.in); System.out.println("请输入你要创建的英雄类型"); System.out.println("请输入你要创建的英雄昵称,血量,基础攻击力"); String k=sc.next(); //字符串比较只能用 equals 和 compareto if(k.equals("AGI")) { h=new AigHero(sc.next(),sc.nextInt(),sc.nextInt()); }else if(k.equals("INT")) { h=new IntHero(sc.next(),sc.nextInt(),sc.nextInt()); }else { h=new PowerHero(sc.next(),sc.nextInt(),sc.nextInt()); } return h; } }