JAVA面向对象之封装和调用
作者:互联网
一 面向对象
面向对象的三大特性
1 封装:概念;封装是把过程和数据私有化,打包封存起来,对数据访问只能通过指定的方式。简单的可以理解为你把钱存到银行里,银行专员首先要给你开一个账户,之后你的钱就私有化了,对私账户,别人想要借用你的钱时他不能直接从银行拿出你的钱,而要通过你取出你自己的钱(调用)再交到他手中,而你取钱的方式就是通过卡(包package)划出;
优点:封装保证了模块具有较好的独立性,使得程序的维护比较简单,对应用程序的维护仅限于程序内部,因而可以将维护程序带来的影响减到最小。
2 继承:概念;A类继承B类,A类可以获取到B类当中所有的成员信息,A类是B类的子类,B类是A类的父类,子类可以获取到父类当中的所有成员信息
如果A类继承B类,则可以把A类和B类中共有的信息放到B类中,达到简化代码的效果。(玄幻小说中都有老祖宗(父类)给自己后代(子类)传承功法(方法),修为之类的,但大多数都被主角截了胡。后代(子类)继承自己老祖宗(父类)的修为以后。原本只有老祖(父类)会用的功法,现如今这个后代(子类)也会用了,也就是说这个后代(子类)可以不通过很多年的学习和苦练就可以拥有这些,既节省时间,又节约成本何乐而不为呢。但是这个后代(子类)可以根据自己的能力和需求修改功法(方法)逐渐完善)。
优点:继承是一种结构理念,是一种链接类的层次模型并允许和支持类的重复使用,他提供了一个明确的描述共性的方法。
3 多态:概念;多态性是不同类的对象对同一消息做出相同的反映。
优点:多态具有灵活,抽象,行为共享,代码共享的优势,很好的解决了应用程序函数同名的问题。
今日学习封装和调用
在Demo04封装。
1 package Day09; 2 3 4 //学习封装特性 5 public class Demo04 { 6 7 //定义一些成员变量,全局变量,属性,字段 8 private String username; 9 10 //定义私有的年龄成员变量,地址成员变量,手机号成员变量 11 //提供对应的getter和setter方法 12 //然后再外类当中对新定义的私有成员变量赋值打印展示 13 14 //getter和setter方法 15 //alt+shift+s 16 private String age; 17 private String address; 18 private String haoma; 19 private String gouzi; 20 21 /** 22 * @return the gouzi 23 */ 24 public String getGouzi() { 25 return gouzi; 26 } 27 28 /** 29 * @param gouzi the gouzi to set 30 */ 31 public void setGouzi(String gouzi) { 32 this.gouzi = gouzi; 33 } 34 35 /** 36 * @return the username 37 */ 38 public String getUsername() {//属性 39 return username; 40 } 41 42 /** 43 * @param username the username to set 44 */ 45 public void setUsername(String username) {//属性 46 47 /**this 他是一个关键字 48 * 指代的就是当前类的一个对象 49 * */ 50 this.username = username; 51 } 52 53 public String getAge() { 54 return age; 55 } 56 57 public void setAge(String age) { 58 this.age = age; 59 } 60 61 public String getAddress() { 62 return address; 63 } 64 65 public void setAddress(String address) { 66 this.address = address; 67 } 68 69 public String getHaoma() { 70 return haoma; 71 } 72 73 public void setHaoma(String haoma) { 74 this.haoma = haoma; 75 } 76 77 }
于Demo03中调用;
1 package Day09; 2 3 /** 4 * 面向对象: 他是一种编程思想,三大特性:封装,继承,多态 封装;保护性,可复制性 5 * 狭义上的封装指的是对定义在方法外类当中的变量进行变量私有化,使用设置private关键字进行修饰 6 * 此时该变量就成了私有变量,那么私有变量只能在本类中使用,不能在外类中直接使用 广义上的封装是指对代码实现的细节进行封装,对外暴露方法名称或者类名 7 * 在类当中主要有两部分内容,成员变量,成员方法 类 :主要是用来存储信息的(成员变量,成员方法) 8 * 对象:主要是用来调用类当中存储(定义)那些信息(成员变量,成员方法) 对象构建的语法格式:类名 变量名 = new 类名(); 钩子程序 继承 9 * :A类继承B类,A类可以获取到B类当中所有的成员信息,A类是B类的子类,B类是A类的父类,子类可以获取到父类当中的所有成员信息 10 * 如果A类继承B类,则可以把A类和B类中共有的信息放到B类中,达到简化代码的效果 多态: 11 * 如果一个类除了可以表现出自己本身状态值以外的其他类值以外,此时这个类具有多态性。 12 * 13 * 14 */ 15 public class Demo03 { 16 17 public static void main(String[] args) { 18 // TODO Auto-generated method stub 19 Demo04 de = new Demo04(); 20 de.setUsername("道尊"); 21 // ctrl + 1 ---->快速获取该方法的返回值,同时他会定义一个变量来接受该方法的返回值 22 String username = de.getUsername(); 23 System.out.println("Demo04类当中的username属性值为 :" + username); 24 25 de.setAge("45"); 26 String age = de.getAge(); 27 System.out.println("Demo04类当中的age属性值为 :" + age); 28 29 de.setAddress("道神殿"); 30 String address = de.getAddress(); 31 System.out.println("Demo04类当中的address属性值为 :" + address); 32 33 de.setHaoma("888888888"); 34 String haoma = de.getHaoma(); 35 System.out.println("Demo04类当中的haoma属性值为 :" + haoma); 36 37 de.setGouzi("绝无神"); 38 String gouzi = de.getGouzi(); 39 System.out.println("Demo04类当中的gouzia属性值为 :" + gouzi); 40 41 } 42 43 }
调用结果
标签:username,JAVA,String,de,gouzi,面向对象,封装,public 来源: https://www.cnblogs.com/fenqian6073/p/16387026.html