Java面向对象设计主要有三大特征:封装性、继承性和多态性
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面向对象设计主要有三大特征:封装性、继承性和多态性的更多相关文章
- 《Java面向对象设计》
<Java面向对象设计> 第一章 面向对象软件工程与UML p理解为什么需要软件工程 p掌握软件工程的基本概念 p掌握软件生命周期各个阶段的主要任务 p了解流行软件开发过程 p了解软件过程 ...
- JAVA面向对象:三大特征 封装讲解
一.JAVA封装 1.封装的理解 封装是 JAVA 面向对象思想的 一 种特性,也是一种信息隐蔽的技术 2.封装的原则 将类中的某些信息隐藏起来,来防止外部程序直接访问,通过类中的方法实现对隐藏的信息 ...
- JAVA的三大特征 封装继承多态- 简单总结
简单总结一下 封装-即从很多类的抽取相同的代码 写在一个类里. 好处是 代码的重用,安全. 继承-减少代码的书写. 其好处也是 代码的重用. 多态- 把不同的子类对象都当作父类来看,可以屏蔽不同子类对 ...
- 面向对象的三大特征——封装、继承、多态(&常用关键字)
一.封装 Encapsulation 在面向对象程式设计方法中,封装是指,一种将抽象性函式接口的实作细节部份包装.隐藏起来的方法. 封装的概念(针对服务器开发,保护内部,确保服务器不出现问题) 将类的 ...
- Java访问修饰符和三大特征(封装,继承和多态)
一.访问修饰符基本介绍: java提供四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围): 1.公开级别:用public修饰,对外公开2.受保护级别:用protected修饰,对子 ...
- php面向对象的三大特征 封装,继承,多态
对象的主要三个特性 对象的行为:可以对 对象施加那些操作,开灯,关灯就是行为. 对象的形态:当施加那些方法是对象如何响应,颜色,尺寸,外型. 对象的表示:对象的表示就相当于身份证,具体区分在相同的行为 ...
- 【JavaSE】面向对象三大特征——封装、继承、多态
前言:本文主要介绍思想 封装 封装这一概念并不仅存在与面向对象中,甚至说封装这一概念不仅限于编程中,其实生活中的封装无处不在.比如 需求:你到银行取钱 参数:你只需要提供银行卡和密码 返回值:柜员会将 ...
- Python面向对象的三大特征 --- 封装、继承、多态
一.封装 1)封装:是面向对象的一大特点:将属性和方法封装在一个抽象类中.外界使用类创建对象,然后让对象调用内部方法.对象方法的细节都被封装在类的内部. class Person(): def _ ...
- python面向对象的三大特征--封装
#coding:utf-8 __author__="tang" #第一个层面的封装:类就是麻袋,本身就是一种封装 #第二个层面的封装:类中定义私有的,只在类的内部使用,外部无法访问 ...
随机推荐
- identityHashCode与偏向锁
hashCode 我们知道在Java中,一切对象都继承自java.lang.Object类.这个类中有一个可继承的方法叫hashCode().它在Object类中的方法签名是这样的: public n ...
- 《深入理解mybatis原理3》 Mybatis数据源与连接池
<深入理解mybatis原理> Mybatis数据源与连接池 对于ORM框架而言,数据源的组织是一个非常重要的一部分,这直接影响到框架的性能问题.本文将通过对MyBatis框架的数据源结构 ...
- item2 - MAC 下最好的终端工具
1.http://www.iterm2.com/downloads.html (下载地址)
- mysql 5.1.71升级到5.6.30
mysql 5.1.71升级到5.6.30 mysqldump -h主机名 -P端口 -u用户名 -p密码 (–database) 数据库名 > 文件名.sql 备份MySQL数据库的命令 my ...
- Find the odd int
Given an array, find the int that appears an odd number of times. There will always be only one inte ...
- 身份证真实性校验js、mini ui身份证长度正则验证
身份证号码真实性校验 <input type="text" value="请输入身份证号" id="cards" ><bu ...
- datagrid与DropDownList关联使用
最近做一个页面需要用到这个两个控件,之前虽然看过,但是没有动手实践过.突然要做这么一个页面,并用上,真的有点着急.于是乎,网上疯狂找datagrid与DropDownList 的例子,找了很多很多,看 ...
- spring 核心接口之 Ordered
Spring中提供了一个Ordered接口.从单词意思就知道Ordered接口的作用就是用来排序的.Spring框架是一个大量使用策略设计模式的框架,这意味着有很多相同接口的实现类,那么必定会有优先级 ...
- C++面向对象高级编程(六)转换函数与non-explicit one argument ctor
技术在于交流.沟通,转载请注明出处并保持作品的完整性. 1.conversion function 转换函数 //1.转换函数 //conversion function //只要你认为合理 你可以任 ...
- L150 Mystery Illness Causing Paralysis in Children Baffles Doctors
Federal and state health officials are baffled by a mysterious and rare illness that seems to target ...