首页 > 其他分享 >学习日记——oop的三大特性

学习日记——oop的三大特性

时间:2023-06-07 19:57:49浏览次数:41  
标签:初始化 继承 子类 多态 extends oop 父类 日记 三大

1.封装

(1)什么是封装

  • 隐藏
  • 方法
  • 控制语句

(2)封装的步骤

  • 如何隐藏 private
  • 如何方法:setter /getter
  • 如何控制语句:if判断

(3)实战训练

 

 

 

 

2.继承

(1)继承的原因

 

多类之间拥有多个相同的属性或方法

 

解决方式是:将相同的属性和方法抽取出来,封装到一个新的类中,并继承新的类

 

(2)继承的语法

关键字:extends

A extends B

核心要点:如果A extends B,则A是B的子类,B是A的父类

核心要点2:Java中一个雷只能继承一个父类

核心要点3:继承的关键字是extends

(3)super

  • 定义:调用父类的成员
  • 规范:

super只能出现在子类的方法和构造方法中

super调用构造方法时,只能是第一句

super不能访问父类的private成员

Super实战

  1. 调用父类构造器
  2. 调用父类属性

  3. 调用父类方法

(4)继承初始化

执行顺序:先执行父类的属性初始化,父类的构造器初始化,子类的属性初始化,子类的构造器初始化。(如果属性没有赋值,就没有初始化)

3.多态

(1)多态的定义

生活中:同一种操作,由于条件不同,产生的结果也不同

计算机中的多态:使用父类的引用指向子类的对象(用这个)

(2)多态三要素

  1. 编写具有继承关系的父类和子类
  2. 子类重写父类方法
  3. 使用父类的引用指向子类的对象

(3)多态的实现

使用父类作为方法形参实现多态

使用父类作为方法返回值实现多态

(4)多态的转型

向上转型

子类转换为父类 自动转换

向下转型

父类转换为子类 强制转换

(5)instanceof运算符 

1.定义: Pet instanceof  Dog 判断Pet类型是否属于Dog类型

 

标签:初始化,继承,子类,多态,extends,oop,父类,日记,三大
From: https://www.cnblogs.com/zixia2025/p/17464283.html

相关文章

  • Hadoop的完全分布式搭建
    Hadoop分布式安装集群规划主机名Hadoop10Hadoop11Hadoop12网络192.168.10.10192.168.10.11192.168.10.12用户hadooproothadooproothadooprootHDFSNameNodeDateNodeDateNodeSecondaryNameNodeDataNodeYARNNodeManagerNodeManagerResourceManager......
  • 每日记录(数据结构 第 三 章 栈与队列 二 )
    队列队列是一种先进先出(FIFO)(FIFO)(FIFO)的线性表.在表一端插入,在另一端删除。0.队列的基本概念定义只能在表的一端(队尾)进行插入,在另一端(队头)进行删除运算的线性表逻辑结构与线性表相同,仍为一对一关系存储结构用顺序队列或链队存储均可运算规则先进先出(FIFO)实现方式......
  • 每日记录(数据结构 第 三 章 栈与队列 )
     一、栈栈(stack)(lastinfirstout)(stack)(last\infirst\out)(stack)(lastinfirstout)后进先出 栈的基本概念定义只能在表的一端(栈顶)进行插入和删除运算的线性表逻辑结构与线性表相同,仍为一对一关系存储结构用顺序栈或链栈存储均可,但以顺序栈更......
  • v831开发日记
    6月6日rgb图像输出格式v831的rgb格式输出后实际内存为172800,而如果是rgb565的应该是115200,因此我把数据转换成hex后输出发现: 没错,每帧的第三个通道填充为0,因此多了一半。我把所有%3的值打印出来 全是0,但也发现了一个问题,如果用py来写for语句处理图像成rgb565的话,会很慢。......
  • python-日记模块模板
    1"""2logging配置3"""45#定义三种日志输出格式开始6standard_format='[%(asctime)s][%(threadName)s:%(thread)d][task_id:%(name)s][%(filename)s:%(lineno)d]'\7'[%(levelname)s][%(message)s]......
  • cuda+cudann+tensorflow安装日记
    1、确定自己电脑有GPU:设置---系统---系统信息---设备管理器---显示适配器,例如:我有,型号是"NVIDIAGeForceRTX3060LaptopGPU"2、(超级重要)确定自己CUDA、CUDANN、tensorflow的安装版本:先确定自己电脑最高能装的最高CUDA版本,然后上官网找其他两个对应的版本CUDA:win+r---cmd---指......
  • python脚本 用sqoop把mysql数据导入hive
    主要功能:用python把mysql数据库的数据导入到hive中,该过程主要是通过python语言操作sqoop.#!/usr/bin/envpython#coding:utf-8#--------------------------------#Createdbycocoon16/2/23#---------------------------------#Comment:主要功能说明:初始化业务数......
  • 关联规则二项集hadoop实现
    近期看mahout的关联规则源码,颇为头痛,本来打算写一个系列分析关联规则的源码的,但是后面看到有点乱了,可能是稍微有点复杂吧,所以就打算先实现最简单的二项集关联规则。算法的思想还是参考上次的图片:这里实现分为五个步骤:针对原始输入计算每个项目出现的次数;按出现次数从大到小(排除出现......
  • 每日记录(线性表链式存储结构(链表))
    链表的基本概念建议每次写的时候都加一个头节点各结点由两个域组成:数据域:存储元素数值数据指针域:存储直接后继结点的存储位置结点:数据元素的存储映像。由数据域和指针域两部分组成链表:n个结点由指针链组成一个链表。它是线性表的链式存储映像,称为线性表的链式存储结构单链表......
  • 每日记录(2.3双向链表)
    双向链表的基本概念双链表顾名思义,就是链表由单向的链变成了双向链。使用这种数据结构,我们可以不再拘束于单链表的单向创建于遍历等操作,大大减少了在使用中存在的问题。每一个节点都有两个指针分别指向该节点的前驱和后继。定义:structDuLNode{EtypedeflemTypedata;......