ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JAVA面向对象之封装和调用

2022-06-17 21:02:57  阅读:142  来源: 互联网

标签:username JAVA String de gouzi 面向对象 封装 public


一   面向对象

面向对象的三大特性

  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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有