面向对象编程 OOP 面向对象和面向过程 对于描述复杂的事务,从宏观上需要面向对象的思路,具体到微观,仍然需要面向过程的思路 面向过程——第一步做什么,第二部做什么...... 面向对象——分类的思维模式 类和对象的关系 类——是一种抽象的数据类型,它是对某一类事物的整体描述或定义
既然要实现继承,那么首先我们得有一个父类,代码如下: // 定义一个动物类 function Animal (name) { // 属性 this.name = name || 'Animal'; // 实例方法 this.sleep = function(){ console.log(this.name + '正在睡觉!'); } } // 原型方法
父类强制转换子类 我们知道Java中子类转换成父类是没有任何问题的,那父类可以转换成子类吗? 来看下面这段程序: public class TestObjectConvert { static class Fruit { } static class Apple extends Fruit { } public static void main(String[] args) { test1(); t
第五天 1.面向对象(OO)编程(P) 1. 面向过程思想 & 面向对象思想 面向过程: 步骤清晰简单,第一步做什么,第二步做什么 适合于一些简单的问题 面向对象 分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独的思考。最后才会对某个分类下的细节进行面向
通过类名称引用静态方法 由于在java.lang.Math类中的已经存在了静态方法abs 所以当我们需要通过Lambda来调用该方法时 有两种写法 首先函数式接口: 通过类名引用静态成员方法 类已经存在 静态成员方法也已经存在 就可以通过类名直接引用静态成员方法 函数式接口: public interfa
1. 继承 1.1 继承的实现(掌握) 继承的概念 继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,以及追加属性和方法 实现继承的格式 继承通过extends实现 格式:class 子类 extends 父类 { } 举例:class Dog extends Animal { } 继承带来
1 定义 简单工厂模式:简单工厂模式又称作静态方法模式(因为工厂中定义了一个静态方法) 工厂类负责生产出各类的产品。其实就是根据传入的参数的不同来生产出不同的产品。 2 具体组成 工厂模式主要有三部分组成:1 抽象父类 2 各种具体的子类 3 工厂类,其具体的类图如下图所示:
继承的本质是对某一类的抽象,从而实现对现实世界更好的建模1.extends的意思是扩展,子类是父类的扩展2.Java中类只有单继承,没有多继承在Java中,所有类都默认直接或间接继承Object类,Object是所有类的父类 子类继承了父类,就会拥有父类的全部方法 super注意点 1.super调用父类的构造方
/* 案例: 继承详解. 标准的类的定义格式: public class 类名 { //属性, 全部私有. //构造方法, 空参, 全参 alter + insert //getXxx(), setXxx() alter + insert //行为, 成员方法 }
super() 函数是用于调用父类(超类)的一个方法。 super() 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。 MRO 就是类的方法解析顺序表, 其实也就是继承父类方法时的顺序表。 Pyt
Java面向对象—封装、继承、多态 在对面向对象的特征进行分析之前,先让我们来了解一下什么是面向对象。 面向对象与面向过程: 面向过程:是一种以过程为中心的编程思想,面向过程的编程语言包括:C、Fortran、Pascal等。 面向过程,就是将要解决的问题按照步骤一步一步的进行执行,举个简单的
微服务的场景搭建 一、创建一个测试数据库 二、父工程模块 创建父类工程 编写父类的pom.xml 引入依赖包 引入父类坐标 常用属性 SpringCloud依赖 整合Mybatis MySQL驱动 通用Mapper启动器 三、创建服务提供者工程模块 创建服务提供者子项目 在子项目pom中添加依赖 S
【java面试题】面向对象的特征 面向对象编程是利用类和对象编程的一种思想,万物可归类,类是对于世界事物的高度抽象,万物皆对象,对象是具体的世界事物。 面向对象的三大特征:封装、继承、多态。 封装说明一个类的行为和属性与其他类的关系,低耦合,高内聚。 继承是父类和子类的关系。
父类中,写了抽象方法: 什么是抽象方法:public obstract void 方法(){},::::::::::::::::::;只有方法名字,没有方法实现 那么如果有个类想要继承定义的这个抽象类,那么就要重写父类中的抽象方法:如图: 1. 2. 3. 1.抽象类不能new,只能靠子类去实现它; 2.抽象类中可以写普通方法; 3.抽象方法必
背景 反射在Java中非常重要,是Java区别于其他编程语言的一大特性。Java中的AOP切面、动态代理等看起来像黑魔法一样的技术,就离不开反射、字节码等。这些技术能在不侵入原有代码的情况下,做一些增强的非功能性需求。多提一句,千万不要把业务逻辑放在AOP切面、动态代理里,否则后人绝对会
1.继承 子类继承父类所有的属性和方法 私有的属性和方法也会继承 但是因为封装性的影响,子类不能直接调用父类的结构 eg.父类中定义private double legacy;//提供set、get方法 子类中不能直接用legacy,而是调用getLegacy()方法 2.继承的规定 一个父类可以被多个子类继承,一个类只
面向对象设计原则 都是为了高内聚低耦合原则。编程时基本都要遵守 单一职责原则 分类原则:一种人只干一种事。 举例:(比较简单就不代码了) 人可以干的事情有很多:敲代码、唱歌、跳舞、打篮球....以人设置成一个类,里面的方法就太多太杂了。所以可以有多个类:程序员(敲代码)、音乐人(唱歌
0 概念 .1 继承 关键字:extends 关系:is-a 概念:手机和iPhone就像是继承关系,iPhone is a mobile phone。 格式:public class Iphone extends Phone{} 子类的特点:可以有父类的内容,还可以有自己特有的内容。Iphone可以有电话都有的打电话发信息的功能,还有面部解锁、全景拍照等自己的功
首先随便找了一个jvm的结构图 类加载器子系统 它包含三个大的阶段 分别是 : 加载(loading) -> 链接(linking) -> 初始化(Initialization) 加载: 通过类的全限定名获取到这个类的二进制字节流 -> 将这个字节流转换成方法区的运行时数据结构 链接: 验证->准备->解析 首先是验证 验
多态 概念 同一个方法可以根据发送对象的不同而采用多种不同的行为方式. 一个对象的实际类型是确定的,但是可以指向对象的引用类型有很多 多态存在的条件 有继承关系 子类重写父类方法 父类引用指向子类对象 注意 多态是方法的多态,属性没有多态性
super注意点: super调用父类的构造方法,必须在构造方法的第一个 super必须只能出现在子类的方法或者构造方法中! super和this不能同时调用构造方法! Vs this: 代表的对象不同 this: 本身调用者的这个对象 super: 代表父类对象的应用 前提 this: 没有
设计模式:让你真正学会使用面向对象进行编程 学完本书,可以再GoF的《设计模式》 附录A是面向对象的基础知识 可参考黑马程序员的视频+博客https://blog.csdn.net/weixin_42636062/category_11313224.html?spm=1001.2014.3001.5482 1.封装、继承和多态,以及简单工厂 命名要让人知道这
复习记录之前学习的内容,在 Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的,class 父类{ } class 子类 extends 父类{ } Java 不支持多继承,但支持多重继承。继承特征:子类拥有父类非 private 的属性、方法。子类可以拥有自己的属性和方法,即子类可以对父类进行扩
重载和重写的区别 1、重载 发生在同一个类中,方法名相同,参数列表不一致,构成重载;且与返回值无关 public int add(int a, int b){return a + b}方法的参数列表就是(int, int) 2、重写 发生在父子类中,方法名和参数列表必须相同,返回值范围小于等于父类,抛出的异常范围小于等于父类
多态 子类继承父类,一个父类可以有多个子类,子类在有父类特征的同时,也具有自己的特征,并且能实现不同的效果,就是多态。 方法的多态:同一个方法名:参数列表不同,调用不同的方法(方法的重载);类的不同,调用不同的方法(方法的重写) 类的多态:同一个对象,可根据不同的实参类,调用不同的行为方