一   面向对象

面向对象的三大特性

  1 封装:概念;封装是把过程和数据私有化,打包封存起来,对数据访问只能通过指定的方式。简单的可以理解为你把钱存到银行里,银行专员首先要给你开一个账户,之后你的钱就私有化了,对私账户,别人想要借用你的钱时他不能直接从银行拿出你的钱,而要通过你取出你自己的钱(调用)再交到他手中,而你取钱的方式就是通过卡(包package)划出;

  优点:封装保证了模块具有较好的独立性,使得程序的维护比较简单,对应用程序的维护仅限于程序内部,因而可以将维护程序带来的影响减到最小。

  2 继承:概念;A类继承B类,A类可以获取到B类当中所有的成员信息,A类是B类的子类,B类是A类的父类,子类可以获取到父类当中的所有成员信息
如果A类继承B类,则可以把A类和B类中共有的信息放到B类中,达到简化代码的效果。(玄幻小说中都有老祖宗(父类)给自己后代(子类)传承功法(方法),修为之类的,但大多数都被主角截了胡。后代(子类)继承自己老祖宗(父类)的修为以后。原本只有老祖(父类)会用的功法,现如今这个后代(子类)也会用了,也就是说这个后代(子类)可以不通过很多年的学习和苦练就可以拥有这些,既节省时间,又节约成本何乐而不为呢。但是这个后代(子类)可以根据自己的能力和需求修改功法(方法)逐渐完善)。

  优点:继承是一种结构理念,是一种链接类的层次模型并允许和支持类的重复使用,他提供了一个明确的描述共性的方法。

  3 多态:概念;多态性是不同类的对象对同一消息做出相同的反映。

  优点:多态具有灵活,抽象,行为共享,代码共享的优势,很好的解决了应用程序函数同名的问题。

今日学习封装和调用

   在Demo04封装。

  1. 1 package Day09;
  2. 2
  3. 3
  4. 4 //学习封装特性
  5. 5 public class Demo04 {
  6. 6
  7. 7 //定义一些成员变量,全局变量,属性,字段
  8. 8 private String username;
  9. 9
  10. 10 //定义私有的年龄成员变量,地址成员变量,手机号成员变量
  11. 11 //提供对应的getter和setter方法
  12. 12 //然后再外类当中对新定义的私有成员变量赋值打印展示
  13. 13
  14. 14 //getter和setter方法
  15. 15 //alt+shift+s
  16. 16 private String age;
  17. 17 private String address;
  18. 18 private String haoma;
  19. 19 private String gouzi;
  20. 20
  21. 21 /**
  22. 22 * @return the gouzi
  23. 23 */
  24. 24 public String getGouzi() {
  25. 25 return gouzi;
  26. 26 }
  27. 27
  28. 28 /**
  29. 29 * @param gouzi the gouzi to set
  30. 30 */
  31. 31 public void setGouzi(String gouzi) {
  32. 32 this.gouzi = gouzi;
  33. 33 }
  34. 34
  35. 35 /**
  36. 36 * @return the username
  37. 37 */
  38. 38 public String getUsername() {//属性
  39. 39 return username;
  40. 40 }
  41. 41
  42. 42 /**
  43. 43 * @param username the username to set
  44. 44 */
  45. 45 public void setUsername(String username) {//属性
  46. 46
  47. 47 /**this 他是一个关键字
  48. 48 * 指代的就是当前类的一个对象
  49. 49 * */
  50. 50 this.username = username;
  51. 51 }
  52. 52
  53. 53 public String getAge() {
  54. 54 return age;
  55. 55 }
  56. 56
  57. 57 public void setAge(String age) {
  58. 58 this.age = age;
  59. 59 }
  60. 60
  61. 61 public String getAddress() {
  62. 62 return address;
  63. 63 }
  64. 64
  65. 65 public void setAddress(String address) {
  66. 66 this.address = address;
  67. 67 }
  68. 68
  69. 69 public String getHaoma() {
  70. 70 return haoma;
  71. 71 }
  72. 72
  73. 73 public void setHaoma(String haoma) {
  74. 74 this.haoma = haoma;
  75. 75 }
  76. 76
  77. 77 }

于Demo03中调用;

  1. 1 package Day09;
  2. 2
  3. 3 /**
  4. 4 * 面向对象: 他是一种编程思想,三大特性:封装,继承,多态 封装;保护性,可复制性
  5. 5 * 狭义上的封装指的是对定义在方法外类当中的变量进行变量私有化,使用设置private关键字进行修饰
  6. 6 * 此时该变量就成了私有变量,那么私有变量只能在本类中使用,不能在外类中直接使用 广义上的封装是指对代码实现的细节进行封装,对外暴露方法名称或者类名
  7. 7 * 在类当中主要有两部分内容,成员变量,成员方法 类 :主要是用来存储信息的(成员变量,成员方法)
  8. 8 * 对象:主要是用来调用类当中存储(定义)那些信息(成员变量,成员方法) 对象构建的语法格式:类名 变量名 = new 类名(); 钩子程序 继承
  9. 9 * :A类继承B类,A类可以获取到B类当中所有的成员信息,A类是B类的子类,B类是A类的父类,子类可以获取到父类当中的所有成员信息
  10. 10 * 如果A类继承B类,则可以把A类和B类中共有的信息放到B类中,达到简化代码的效果 多态:
  11. 11 * 如果一个类除了可以表现出自己本身状态值以外的其他类值以外,此时这个类具有多态性。
  12. 12 *
  13. 13 *
  14. 14 */
  15. 15 public class Demo03 {
  16. 16
  17. 17 public static void main(String[] args) {
  18. 18 // TODO Auto-generated method stub
  19. 19 Demo04 de = new Demo04();
  20. 20 de.setUsername("道尊");
  21. 21 // ctrl + 1 ---->快速获取该方法的返回值,同时他会定义一个变量来接受该方法的返回值
  22. 22 String username = de.getUsername();
  23. 23 System.out.println("Demo04类当中的username属性值为 :" + username);
  24. 24
  25. 25 de.setAge("45");
  26. 26 String age = de.getAge();
  27. 27 System.out.println("Demo04类当中的age属性值为 :" + age);
  28. 28
  29. 29 de.setAddress("道神殿");
  30. 30 String address = de.getAddress();
  31. 31 System.out.println("Demo04类当中的address属性值为 :" + address);
  32. 32
  33. 33 de.setHaoma("888888888");
  34. 34 String haoma = de.getHaoma();
  35. 35 System.out.println("Demo04类当中的haoma属性值为 :" + haoma);
  36. 36
  37. 37 de.setGouzi("绝无神");
  38. 38 String gouzi = de.getGouzi();
  39. 39 System.out.println("Demo04类当中的gouzia属性值为 :" + gouzi);
  40. 40
  41. 41 }
  42. 42
  43. 43 }

调用结果


JAVA面向对象之封装和调用的更多相关文章

  1. Java面向对象(封装性概论)

     Java面向对象(封装性概论) 知识概要:                   (1)面向对象概念 (2)类与对象的关系 (3)封装 (4)构造函数 (5)this关键字 (6)static关键 ...

  2. Java面向对象的封装

    封装是Java面向对象的三大特性之一,通常我们是通过包管理机制同时对类进行封装,隐藏其内部实现细节,通常开发中不允许直接操作类中的成员属性,所以属性一般设置为私有权限private,类中一般会给出一些 ...

  3. java面向对象(封装,继承,多态,抽象,接口的定义和实现)

    1.封装 在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式接口的实作细节部份包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定 ...

  4. Java面向对象之封装

     面向对象的三个特征:封装.继承和多态. Java开发的过程就是找合适的库对象使用,没有对象创建新对象.找对象,建立对象,使用对象并维护对象之间的关系. 类就是对现实生活中事物的描述,而对象就是这类事 ...

  5. java面向对象(封装-继承-多态)

    框架图 理解面向对象 面向对象是相对面向过程而言 面向对象和面向过程都是一种思想 面向过程强调的是功能行为 面向对象将功能封装进对象,强调具备了功能的对象. 面向对象是基于面向过程的. 面向对象的特点 ...

  6. Java面向对象之封装 入门实例(一)

    一.基础概念 (一)面向对象的三大特征:      1.封装         2.继承          3.多态 (二)封装:隐藏实现细节,对外提供公共的访问方式(接口). 封装的体现之一:将属性都 ...

  7. java面向对象之封装性

    面向对象的特征之一:封装和隐藏: 一.问题的引入: 当创建一个类的对象以后,可以通过“对象.属性”的方式,对对象的属性进行赋值.这里,赋值操作要受属性的数据类型和存储范围的制约.除此之外,没有其他制约 ...

  8. Java 面向对象,封装,继承

    1相关概念的理解 1.1面向过程.面向对象 面向过程与面向对象都是编程中,编写程序的一种思维方式. 面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程.(职员思想) 面向 ...

  9. Java 面向对象和封装

    目录 面向对象思想的概述 类和对象的关系 什么是类 什么是对象 类和对象的关系 局部变量和成员变量的区别 this关键字 构造方法 一个标准的类 面向对象思想的概述 面向过程:当需要实现一个功能的时候 ...

随机推荐

  1. JWT&RSA实现单点登录(详细介绍)

    今天给大家讲一下基于JWT&RSA的单点登录(Single Sign On,简称SSO)解决方案 概念 首先要了解几个概念 单点登录(Single Sign On) JWT RSA 背景 为什 ...

  2. python---十进制转换成n进制

    """ 十进制转换成n进制 例子: 100转换成8进制-----144 256除8 商32 余0 32除8 商4 余0 4除8 商0 余4 每次结果的余数进栈, 最后出栈 ...

  3. 最大数maxnumber - 题解【树状数组】

    原题: 现在请求你维护一个数列,要求提供以下两种操作: 1. 查询操作.语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值.限制:L不超过当前数列的长度. 2. 插入操作.语法 ...

  4. QGIS 插件开发Debug教程——使用Pycharm

    参考文章:Remote Debugging Guide for Python PyQGIS CookBook 16.4. IDE settings for writing and debugging ...

  5. opencv如何在jupyter notebook中显示图片

    方法一: from matplotlib import pyplot as plt import numpy as np import cv2 img = cv2.imread('img.jpg') ...

  6. [题解] 春荔(cut) | 贪心

    题目大意 有一个长度为 \(n\) 的非负整数序列 \(a_i\),每次可以选择一段区间减去 \(1\),要求选择的区间长度 \(\in[l,r]\),问最少多少次把每个位置减成 \(0\). 不保证 ...

  7. 【爬虫+情感判定+Top10高频词+词云图】“谷爱凌”热门弹幕python舆情分析

    一.背景介绍 最近几天,谷爱凌在冬奥会赛场上夺得一枚宝贵的金牌,为中国队贡献了自己的荣誉! 针对此热门事件,我用Python的爬虫和情感分析技术,针对小破站的弹幕数据,分析了众网友弹幕的舆论导向,下面 ...

  8. HttpResponse,render,redirect,静态文件配置,request对象方法,pycharm连接MySQL,django连接MySQL,django ORM

    HttpResponse 主要用于返回字符串类型的数据 def index(request): return HttpResponse('index页面') 在页面中就会显示 index页面 rend ...

  9. Apache ShenYu:分析、实现一个 Node.js 语言的 HTTP 服务注册客户端(HTTP Registry)

    这块没空写文章了,先贴出实现代码吧 yuque.com/myesn

  10. 解决 youtube 片尾内容被遮挡

    参考: https://www.pcdvd.com.tw/showthread.php?t=1137333 在 ublock 的自定义静态规则中加上这句话 www.youtube.com##.ytp- ...