面向对象系列(二)-封装,继承,多态
封装作用:
--->减少了大量的冗余代码
--->封装将一坨很难理解的功能封装起来,但是对外提供了一个很简单的使用接口。我们会使用就OK。
继承作用:
--->减少了类中的冗余代码
--->让类与类产生了关系,为多态打下了基础。
特性:
单根性:一个子类只能有一个父类
传递性:爷爷类 爹类 儿子类
里氏转换:
1、子类可以赋值给父类
2、如果父类中装的是子类对象,则可以将这个父类转换为对应的子类对象
---->关键字
1、is:返回bool类型,指示是否可以做这个转换
2、as:如果转换成功,则返回对象,否则返回null
作用:我们可以将所有的子类都当做是父类来看,针对父类进行编程,写出通用的代码,适应需求的不断改变。
实现多态(三种方法):
--->虚方法
虚方法关键字:virtual 子类:override
--->抽象类
抽象类关键字:abstract 子类:override
--->接口
接口关键字:interface
面向对象系列(二)-封装,继承,多态相关推荐
- 第九课(面向对象):封装 继承 多态
一.面向对象概念:根据模板(创建一个类)并实例化 这个思路就叫面向对象 二.使用面向对象编程好处: 可以重复使用(实例化类) 容易修改(只用修改类的模板) 三.面向对象的特点: 封装 继承 多态 类名 ...
- -1-2 java 面向对象基本概念 封装继承多态 变量 this super static 静态变量 匿名对象 值传递 初始化过程 代码块 final关键字 抽象类 接口
java是纯粹的面向对象的语言 也就是万事万物皆是对象 程序是对象的集合,他们通过发送消息来相互通信 每个对象都有自己的由其他的对象所构建的存储,也就是对象可以包含对象 每个对象都有它的类型 也就是 ...
- 深入理解Java面向对象三大特性 封装 继承 多态
1.封装 封装的定义: 首先是抽象,把事物抽象成一个类,其次才是封装,将事物拥有的属性和动作隐藏起来,只保留特定的方法与外界联系 为什么需要封装: 封装符合面向对象设计原则的第一条:单一性原则,一个类 ...
- Java面向对象三大特性(封装继承多态)解释及案例
文章目录 包 包基本语法 命名规则 命名规范 导入包实例 访问修饰符 面向对象编程-封装 面向对象编程-继承 super关键词 super和this的比较 方法重写/覆盖 (override) 注意事 ...
- python多态的三种表现形式_python小结----面向对象的三大特征(封装,继承,多态)
面向对象的三大特征: 封装,继承,多态 面向对象的编程思想核心:高类聚,低耦合–程序的设计模式范畴 封装 什么是封装: 在面向对象编程的思想中,对代码进行高度封装,封装又叫包装 封装就是指将数据或者函 ...
- python 参数类型的多态_【Python】面向对象:类与对象\封装\继承\多态
六.Python面向对象--类与对象\封装\继承\多态 1.什么是面向对象编程 1.1 程序设计的范式:程序可控,易于理解 1.2 抽象并建立对象模型 1.3 程序是不同对象相互调用的逻辑.每个对象在 ...
- 大数据笔记8—java基础篇4(面向对象-封装-继承-多态)
面向对象 一.面向对象 1.面向过程 1.2.举例 1.3.总结 二.面向对象 1.简述 2.举例 3.思想特点 2.1.类的定义格式 2.1.1.简述 2.2.2.格式 2.3.3.示例 三.类的使 ...
- python--编写程序:实现乐手弹奏乐器,乐手可以弹奏不同的乐器而发出不同的声音------使用类的封装继承多态的问题/使用面向对象的思想,设计自定义类,描述出租车和家用轿车的信息
编写程序:实现乐手弹奏乐器,乐手可以弹奏不同的乐器而发出不同的声音 ------使用类的封装继承多态的问题 class Instrumnet():#乐器类def make_sound(self):pa ...
- Day55-每日一道Java面试题-Java 面向对象编程三大特性: 封装 继承 多态
Java 面向对象编程三大特性: 封装 继承 多态 封装 封装把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法,如果属性不想被外界访问,我们大可不必提供方法给外界访问.但是如果一个类没有 ...
- 面向对象 编程及面向对象三大属性:封装 继承 多态
面向对象 面向对象(Object Oriented,OO)是软件开发方法.面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统.交互式界面.应用结构.应用平台.分布式系统.网络管理结构. ...
最新文章
- Jenkins学习四:Jenkins 邮件配置
- ERP技术的新方向——智能客户端
- 我必须要吐槽,你们的数据管理都是错的,这才是规划和产出
- Maven入门学习,安装及创建项目
- 设计模式笔记十六:解释器模式
- Linux中的同步机制
- golang操作mongodb的驱动mongo-go-driver的事务支持和访问控制(mongodb4.0)
- 实例化vue发生了什么?(详解vue生命周期)
- 【LeetCode】整数反转【不能借助辅助空间,需要处理溢出】
- groovy+mysql数据库_groovy - groovy连接数据库
- 好程序员分享html图片绝对路径改相对路径
- sitemesh初步
- 乱谈企业化信息规划与实施
- 国产32核服务器CPU验证成功!100%自主指令架构,单机最多可支持四路128核,来自龙芯中科...
- 运行tensorflow以及caffe出现各种虽小但足以致命的错误
- 水星怎么设置网速最快_水星mw300r怎么提高网速
- 《给程序员的职场情商课》读书笔记
- 云服务器远程一键登录出现SSH connection failed: All configured authentication methods failed *解决办法。
- CENTOS上的网络安全工具(九)走向Hadoop(1) SingleNode模式安装与配置
- [20181015][模拟赛]
热门文章
- 软件开发自学靠谱吗?
- python电脑基础_python基础-1.计算机基础
- Redhawk 如何gds2def?
- ITIL 2011 -- 服务运营的5个流程简介
- GSM+GPRS通信模块SIM800C介绍
- java phaser 实用场景_猿灯塔-Phaser 使用介绍
- 网络传输介质和常见的设备
- NO.3 微信第三方平台代创建小程序审核发布以及小程序信息(头像,名称,简介)修改 以及微信错误码 返回信息
- 阿里云香港机器被攻击了怎么办?
- Vallen Dispersion——计算Lamb波色散,声发射信号模态分析的免费软件