面对对象之封装继承多态(抽象)
来源:互联网 发布:teackpad Windows 编辑:程序博客网 时间:2024/06/04 11:17
面向对象(oop)的三大特征:封装、继承、多态、(抽象)
封装的作用:安全
封装的意义:隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。
程序设计的要求:高内聚,低耦合。
封装的实现:public 公共的 protected 受保护的 default 默认的 private 私有的
类本身 包权限 子父类 其他包
public √ √ √ √ (所有权限)
protected √ √ √ (子父类权限)
default √ √ (包权限)
private √ (类权限)
get/set方法
private 私有属性一般会提供公共的get/set方法,以便外界对我私有属性进行读写。
get是为了获取属性,要有返回值。(boolean 是 is)
set是为了改变属性,提供参数。
继承是为了实现:代码重用
extends 关键字: 子类 extends 父类
子类继承父类,子类拥有父类的非私有的属性和方法。
java 只允许单继承,(一个孩子只能有一个爹,但一个爹可以有多个孩子),在interface 中可以多继承。
子类不能继承父类的构造方法;
子类在使用自己的构造方法的时候,会先去调用祖先的构造方法,依次到本类为止。
多态:多样化
多态:重载overload、重写override
重写:在子父类之间,子类的方法名、返回值和参数列表同父类一样,但是方法体却不同
重载:在同一个类中,方法名相同,方法的参数类型不同(类型,顺序,个数)
Object 对象类 他是所有java类的父类(根基类)
如果一个类没有继承任何类,这个类就继承了Object类
super 代表父类本身 this 代表当前对象本身
== 和equals的区别
== 可以用来进行基本数据类型值的比较 int i =1;int j=1; i==j;// true
引用数据类型==比较的是内存地址是否相等。
Person p1 = new Person();
Person p2 = new Person();
p1==p2; // false
equals 用来比较两个对象的内容是否相等;
String s1 = "abc";
String s2 = "abc";
s1.equals(s2);// true
封装的作用:安全
封装的意义:隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。
程序设计的要求:高内聚,低耦合。
封装的实现:public 公共的 protected 受保护的 default 默认的 private 私有的
类本身 包权限 子父类 其他包
public √ √ √ √ (所有权限)
protected √ √ √ (子父类权限)
default √ √ (包权限)
private √ (类权限)
get/set方法
private 私有属性一般会提供公共的get/set方法,以便外界对我私有属性进行读写。
get是为了获取属性,要有返回值。(boolean 是 is)
set是为了改变属性,提供参数。
继承是为了实现:代码重用
extends 关键字: 子类 extends 父类
子类继承父类,子类拥有父类的非私有的属性和方法。
java 只允许单继承,(一个孩子只能有一个爹,但一个爹可以有多个孩子),在interface 中可以多继承。
子类不能继承父类的构造方法;
子类在使用自己的构造方法的时候,会先去调用祖先的构造方法,依次到本类为止。
多态:多样化
多态:重载overload、重写override
重写:在子父类之间,子类的方法名、返回值和参数列表同父类一样,但是方法体却不同
重载:在同一个类中,方法名相同,方法的参数类型不同(类型,顺序,个数)
Object 对象类 他是所有java类的父类(根基类)
如果一个类没有继承任何类,这个类就继承了Object类
super 代表父类本身 this 代表当前对象本身
== 和equals的区别
== 可以用来进行基本数据类型值的比较 int i =1;int j=1; i==j;// true
引用数据类型==比较的是内存地址是否相等。
Person p1 = new Person();
Person p2 = new Person();
p1==p2; // false
equals 用来比较两个对象的内容是否相等;
String s1 = "abc";
String s2 = "abc";
s1.equals(s2);// true
阅读全文
0 0
- 面对对象之封装继承多态(抽象)
- 面对对象之封装
- 面对对象之继承
- 面对对象(封装)(继承)(多态)
- 黑马程序员_Java面对对象(封装,继承,多态)
- 面相对象的抽象、封装、继承、多态的理解
- C++面向对象的抽象 封装继承 多态总结
- 面对对象之继承,密封
- java面向对象编程(OOP):封装、抽象、多态和继承
- 七:Java之封装、抽象、多态和继承
- 面对对象继承之原型链继承
- 面对对象继承之组合继承
- lua--面对对象多继承
- C++之面向对象程序设计的基本特点(抽象、封装、继承、多态)
- 面对对象之继承及其弊端(Java)
- java四大特性理解(封装继承多态抽象)
- java四大特性理解(封装继承多态抽象)
- 面试-封装继承多态抽象
- 那些年,让我们一起头疼的异常!
- nodejs debug 模块使用
- Python数据挖掘的一些前期准备
- 羊皮卷之三
- 甩掉运维黑锅,容灾部署如何该怎么做
- 面对对象之封装继承多态(抽象)
- editplus初学前端之一
- 百度
- git使用方法---分支
- 十进制转换为二进制
- Importance Sampling in Reinforcement Learning
- 应用程序与Activity 3_1 Android应用程序
- 寻找数组中的第i小元素
- 数理逻辑1 -- 命题演算6