Java面向对象设计主要有三大特征:封装性、继承性和多态性

一  封装性  

1.1  概念:它是将类的一些敏感信息隐藏在类的类部,不让外界直接访问到,但是可以通过getter/setter方法间接访问。

1.2  目的:我们可以并且有可能在方法中,添加自己的限制,保证数据的有效性;从某种程度上说,封装也提高了代码的健壮性、安全性。

1.3  实现步骤:所有的成员变量全部私有化,格式 :private   数据类型  变量名  ,提供访问成员变量的getter/setter方法。

二  继承性  

2.1  概念:子类通过一种方式来接受父类所有的公有的,受保护的成员变量和成员方法。

2.2  目的:增强了代码的复用性,提高了代码的质量。

2.3  实现步骤:使用extends关键词,标识子类继承父类 ,格式:public    class   子类名    extends   父类名

2.4  注意事项:  ⑴子类可以在继承父类方法的基础上,重写父类的方法,在具体执行是执行子类的方法;

⑵子类可以定义自己的属性,方法,这是代码扩展性的一种体现;

⑶Java中所有的类,如果没有显示的定义继承自谁,默认都是从Object继承而来的;

⑷(特别注意)Java中,每个类都只能继承一个类————Java的单继承机制。

三 多态性

3.1  概念:程序在运行的过程中,同一种类型在不同的条件下表现不同的结果,这种不定状态的表现形式,可以称为多态。

3.2  分类:ⅰ.设计时多态:方法重载实现的多态

⑴方法重载—————定义的所有方法都是声明在【同一个类】中的;

⑵方法重载的实现————相同的方法名称(不同的参数){},例如:public void   person(){ . . . }

和public void person(String name){ ........}

ⅱ .运行时多态:方法【重写】实现的多态

⑴方法重写/覆盖————定义的方法肯定是在子类中覆盖父类的方法,方法出现在两个类中。

⑵方法重写的实现————子类继承父类,然后在子类中重新定衣服类方法的实现。

例如:父类 public class  Pet{}

子类 public class Cat{}   子类继承父类 Cat  extends  Pet

Pet   cat  =  new Cat(); 父类的引用指向子类的对象,表示运行时多态。

Java面向对象设计主要有三大特征:封装性、继承性和多态性的更多相关文章

  1. 《Java面向对象设计》

    <Java面向对象设计> 第一章 面向对象软件工程与UML p理解为什么需要软件工程 p掌握软件工程的基本概念 p掌握软件生命周期各个阶段的主要任务 p了解流行软件开发过程 p了解软件过程 ...

  2. JAVA面向对象:三大特征 封装讲解

    一.JAVA封装 1.封装的理解 封装是 JAVA 面向对象思想的 一 种特性,也是一种信息隐蔽的技术 2.封装的原则 将类中的某些信息隐藏起来,来防止外部程序直接访问,通过类中的方法实现对隐藏的信息 ...

  3. JAVA的三大特征 封装继承多态- 简单总结

    简单总结一下 封装-即从很多类的抽取相同的代码 写在一个类里. 好处是 代码的重用,安全. 继承-减少代码的书写. 其好处也是 代码的重用. 多态- 把不同的子类对象都当作父类来看,可以屏蔽不同子类对 ...

  4. 面向对象的三大特征——封装、继承、多态(&常用关键字)

    一.封装 Encapsulation 在面向对象程式设计方法中,封装是指,一种将抽象性函式接口的实作细节部份包装.隐藏起来的方法. 封装的概念(针对服务器开发,保护内部,确保服务器不出现问题) 将类的 ...

  5. Java访问修饰符和三大特征(封装,继承和多态)

    一.访问修饰符基本介绍: java提供四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围): 1.公开级别:用public修饰,对外公开2.受保护级别:用protected修饰,对子 ...

  6. php面向对象的三大特征 封装,继承,多态

    对象的主要三个特性 对象的行为:可以对 对象施加那些操作,开灯,关灯就是行为. 对象的形态:当施加那些方法是对象如何响应,颜色,尺寸,外型. 对象的表示:对象的表示就相当于身份证,具体区分在相同的行为 ...

  7. 【JavaSE】面向对象三大特征——封装、继承、多态

    前言:本文主要介绍思想 封装 封装这一概念并不仅存在与面向对象中,甚至说封装这一概念不仅限于编程中,其实生活中的封装无处不在.比如 需求:你到银行取钱 参数:你只需要提供银行卡和密码 返回值:柜员会将 ...

  8. Python面向对象的三大特征 --- 封装、继承、多态

    一.封装 1)封装:是面向对象的一大特点:将属性和方法封装在一个抽象类中.外界使用类创建对象,然后让对象调用内部方法.对象方法的细节都被封装在类的内部. class Person():   def _ ...

  9. python面向对象的三大特征--封装

    #coding:utf-8 __author__="tang" #第一个层面的封装:类就是麻袋,本身就是一种封装 #第二个层面的封装:类中定义私有的,只在类的内部使用,外部无法访问 ...

随机推荐

  1. jquery 表格自动拆分(方便打印)插件-printTable

    /** * jquery 表格打印插件 * * 作者: LiuJunGuang * 日期:2013年6月4日 * 分页样式(需要自定义): * @media print { * .pageBreak ...

  2. 1-12 RHEL7-find命令的使用

    1.文件查找findfind命令是在目录结构中,搜索文件,并执行特定的操作find命令提供了相当多的查找条件,功能很强大 2.格式usage:find pathname -options[-print ...

  3. Jdev 本地RUN页面时候,将异常直接显示出来,而不是乱码

    本地运行页面时,经常会遇到以下错误 oracle.jbo.JboException: JBO-29000: JBO-29000: JBO-26028: ???? MemberAttributesDis ...

  4. OGNL表达式语言中的"#"和"$"的区别

    Struts2使用标准的Context来进行OGNL表达式语言求值,OGNL的顶级对象是一个Context,这个Context对象就是一个Map类型实例,其根对象就是ValueStack,如果需要访问 ...

  5. day31 堡垒机尾声 + Python与金融量化分析(一)

    堡垒机尾声: 代码案例:https://github.com/liyongsan/git_class/tree/master/day31 课堂笔记:file send: 1.选择本地文件 2.远程路径 ...

  6. SHOW INNODB STATUS 探秘

    [InnoDB系列] -- SHOW INNODB STATUS 探秘 SHOW INNODB STATUS 探秘 转载:http://imysql.com/2008_05_22_walk_throu ...

  7. tcping的安装和使用

    1.LINUX安装方法: 编译安装下载地址: http://linuxco.de/tcping/tcping.html tar zxvf tcping-1.3.5.tar.gz cd tcping-1 ...

  8. (转载) jQuery页面加载初始化的3种方法

    jQuery 页面加载初始化的方法有3种 ,页面在加载的时候都会执行脚本,应该没什么区别,主要看习惯吧,本人觉得第二种方法最好,比较简洁. 第一种: $(document).ready(functio ...

  9. html/css/javascript练习代码

    这两天心血来潮学习了前端,自己也做了个小小的网页,不好看QAQ 不过网页上集结了很多零碎的知识,在这里先马克一下.图片地址:https://github.com/lesroad/html-css-js ...

  10. CF910B

    题解: dp f[i][j]表示i根a,j根b要多少 然后随便转移一下 代码: #include<bits/stdc++.h> using namespace std; ][],n,a,b ...