最新要闻
- 观速讯丨长征第462发!我国成功发射一箭14星:“共享”火箭了解下
- 国内《新·福音战士剧场版:终》限定海报被指抄袭 官方正在联系画师确认
- 无法恢复!微软杀软Defender误删开始菜单/任务栏捷方式
- 天天观点:排量830cc 马自达转子发动机正式回归!首车发布
- 天天亮点!雨雪降温重心转移至南方 大范围雨雪天气明日结束
- 焦点快播:2022一年 特斯拉车主为地球节省20亿美元油费
- 每日消息!全球首现!四川一地发现新物种:长得特别好看
- 每日动态!《三体》剧版今日CCTV8、腾讯视频全网首播:会员提前看三集
- 环球热议:千万别在有WiFi的房间里摆这种姿势
- 焦点观察:微软收购动视暴雪更难了!NVIDIA出手阻挠
- 环球观焦点:联名中国第一科幻IP!荣耀80 Pro《三体》动画定制版来了:限量卖
- 【全球独家】淘汰所有老款!新一代PS5主机年内到来:不向下兼容
- 环球热门:无磷配方 低泡易漂 绿伞洗衣液6斤17.9元
- 每日焦点!碰撞测试能拿一星 创维是造了什么“神仙”车
- 全球播报:中国科幻顶级IP首登荧屏!《三体》电视剧今晚央视、腾讯视频首播
- 中国制造多牛?世界最先进工厂:我们占了近一半
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
【全球独家】读编程与类型系统笔记08_面向对象变成的元素
(资料图)
1.面向对象编程
1.1.(Object-Oriented Programming,OOP)
1.2.基于对象的概念的一种编程范式
1.3.对象可以包含数据和代码
1.4.数据是对象的状态
1.5.代码是一个或多个方法
1.5.1.消息是方法,包括名称、实参和返回类型
1.6.通过使用其他对象的方法,对象之间可以“对话”或者发送消息
1.7.关键特征
1.7.1.封装
1.7.1.1.允许隐藏数据和方法
1.7.2.继承
1.7.2.1.用额外的数据和代码扩展一个类型
2.接口
2.1.契约
2.2.描述了实现该接口的任何对象都理解的一组消息
2.3.接口没有任何状态
2.4.相当于书面协议
2.4.1.规定了实现者将提供什么
2.5.ConsoleLogger满足了ILogger的契约
2.5.1.并不是一个ILogger
2.5.2.Java和C#规定一个类只能从另外一个类继承,但它们允许类实现许多接口,这就是原因所在
2.6.合并接口的能力允许我们从较小的、可重用的接口创建合并后的接口
2.7.接口最终让消费者受益,而不是让实现接口的类获益
2.8.“针对接口编程”是著名的OOP原则
3.抽象类
3.1.可以包含非抽象的方法或状态
3.2.和具体类的唯一区别在于不能直接创建抽象类的实例
3.3.ConsoleLogger和AbstractLogger之间的关系是所谓的“是”关系
3.3.1.ConsoleLogger继承了AbstractLogger
3.3.2.ConsoleLogger也是一个AbstractLogger
4.继承
4.1.子类是父类的子类型
4.1.1.在期望使用父类的任何地方,都可以使用子类的实例
4.2.继承会在子类型与父类型之间建立“是一个”关系
4.3.不要创建出非常深的类层次
4.3.1.一个对象的多个状态和方法可能来自层次结构中的不同级别,导致代码更难理解
4.4.让子类是具体类,让层次结构上方的父类是抽象类,这是一个好主意
4.5.尽可能多地使用final或sealed等关键字实现某个子类显式标记为不可继承
4.6.使用继承来代表层次,或者通过使用抽象或重写方法来实现参数化行为
5.组合
5.1.比继承更好的方法
5.2.只要可能,就优先选择组合而不是继承是著名的OOP原则
5.3.“有一个”经验准则
5.3.1.不是从一个类型继承行为,而是定义一个该类型的属性
5.3.2.对于判断什么时候应该使用组合而言是一个很好的测试
5.4.除非两个类型之间存在清晰的“是一个”关系,否则组合是可以默认使用的好方法
5.5.组合在容器类型和被包含类型之间建立了一种“有一个”关系
5.6.优点:组件属性的所有状态被封装在这些组件中,所以类型变得整洁多了
5.7.不是把几个组件合并到一起,而是封装一个组件,并提供它需要的“胶水”代码,使其能够作为另外一种类型使用
6.值类型和 引用类型
6.1.在C#中结构是值类型
6.2.除了原生提供的基本数值类型,Java不支持值类型
6.2.1.几乎所有类型都是引用类型
6.3.在C++中
6.3.1.所有类型都是按值传递的,除非我们显式地将一个值声明为指针(*)或者引用(&)
6.3.2.结构只是意味着其成员默认是公有的
6.3.3.类的成员默认是私有的
6.4.一些函数式语言
6.4.1.使用不可变数据
6.4.2.此时不存在值和引用之间的区别
7.适配器模式
7.1.能够让两个类变得兼容,而且不需要我们修改其中任何一个类
7.2.对于处理我们无法修改的代码极为有用
7.2.1.例如不在我们控制内的外部库的代码
7.3.不修改类型,而是使用封装和组合让类型适配不同接口的一个例子
8.混入
8.1.有争议的概念
8.2.混入行为通常是使用多重继承实现的
8.2.1.扩展阅读了解”菱形继承”问题
8.3.“是一个”经验准则发生了冲突
8.4.在一个类型与其混入类型之间建立了“包含”关系
8.5.许多语言为了保持简单,选择根本不支持混入
8.6.大部分支持混入的语言中,混入另外一个类型与继承无法没有区别
8.7.混入对于减少样板代码很有用
8.8.混入最适合实现横切关注点(cross-cutting concern)
8.8.1.引用计数
8.8.2.缓存
8.8.3.持久化
8.8.4.日志
8.8.5.安全
8.9.编译时方案
8.9.1.在C++中,我们可以使用多重继承来把一个类型声明为其他两个类型的组合
8.10.运行时方案
8.10.1.在TypeScript中的交叉类型
8.10.1.1.使用extend()函数
8.11.与继承不同,使用混入时,我们为不同的行为方面定义不同的类型,然后把它们合并起来,放到一个完整的类型中
8.11.1.有一些属性和方法是特定对象所独有的
8.11.2.另一些属性和方法是多个类型所共有的
8.12.使用混合来为类型添加行为
9.纯粹面向对象代码的替代方案
9.1.它们不会替代OOP,但在一些情况中是更好的选择
9.2.和类型
9.2.1.以相同的方式传递不同类型的对象,或者把它们放到一个公共的集合中,使用和类型,此时不需要在类型之间建立任何关系,就可以获得相同的行为
9.3.函数式编程
9.3.1.避免了维护状态:函数可以接受一组实参,执行一些计算,然后返回结果,并不需要改变任何状态
9.3.2.如果IExpression更加复杂,声明了多个方法,那么面向对象方法的效果可能更好
9.4.泛型编程
-
【全球独家】读编程与类型系统笔记08_面向对象变成的元素
1 & 160;面向对象编程1 1 & 160;(Object-OrientedProgramming,OOP)1 2 & 160;基于对象的概念...
来源: 【全球独家】读编程与类型系统笔记08_面向对象变成的元素
观速讯丨长征第462发!我国成功发射一箭14星:“共享”火箭了解下
国内《新·福音战士剧场版:终》限定海报被指抄袭 官方正在联系画师确认
无法恢复!微软杀软Defender误删开始菜单/任务栏捷方式
天天观点:排量830cc 马自达转子发动机正式回归!首车发布
天天亮点!雨雪降温重心转移至南方 大范围雨雪天气明日结束
天天短讯!一步一步实现若依框架--2.3防止重复提交 repeat_submit
焦点快播:2022一年 特斯拉车主为地球节省20亿美元油费
每日消息!全球首现!四川一地发现新物种:长得特别好看
每日动态!《三体》剧版今日CCTV8、腾讯视频全网首播:会员提前看三集
天天观点:使用ActiveMQ Artemis进行重连
环球热议:千万别在有WiFi的房间里摆这种姿势
焦点观察:微软收购动视暴雪更难了!NVIDIA出手阻挠
环球观焦点:联名中国第一科幻IP!荣耀80 Pro《三体》动画定制版来了:限量卖
【全球独家】淘汰所有老款!新一代PS5主机年内到来:不向下兼容
环球热门:无磷配方 低泡易漂 绿伞洗衣液6斤17.9元
每日焦点!碰撞测试能拿一星 创维是造了什么“神仙”车
全球播报:中国科幻顶级IP首登荧屏!《三体》电视剧今晚央视、腾讯视频首播
中国制造多牛?世界最先进工厂:我们占了近一半
今日热文:堪比抢iPhone 泰国车主凌晨排队买!比亚迪泰国发运破万台
世界快报:微信全新拜年红包上线!支持语音祝福录制 动画效果太萌了
当前头条:Python树与树算法
B站大会员促销:12个月年卡到手价98元
天天动态:污染环境?代表建议允许春节分区分时燃放烟花 留住年味
每日消息!吓哭孩子!《中国奇谭》导演回应家长炮轰被网友赞:要走出国门征服老外
吃惊!杭州湿度达到100% 墙壁、窗台“挤”出水:网友吐槽难受到爆
当前聚焦:Linux中查看日志的常用命令
环球聚焦:算法学习笔记(8.2): 上下界网络流
当前最新:直播:央视网络春晚 最美女主播王冰冰亮相:王心凌等也来了
动态焦点:屏幕最小的第二代骁龙8旗舰!曝三星Galaxy S23卖6500元
老款iPhone激活原生灵动岛!DynamicCow教程来了
python批量发邮箱
有了这份Java面试中的葵花宝典,让你面试起飞!!!
每日时讯!还买什么Zen3/Zen4 6核酷睿i5-12490F到手1139元(首发1499)
焦点速讯:公司年终奖老员工人手1个30克金牌 感谢忠诚引热议:网友问还招人吗?
世界微资讯!Codeforces Round #843 (Div. 2) A1A2BCE(D待补)
储量超100万吨 瑞典发现欧洲最大稀土矿床:有望结束进口依赖
环球即时:首发4999元 Bose家庭娱乐扬声器550发布:支持TrueSpace增强原音
苹果iOS 17新特性和新功能抢先看!今年6月登场
有家长炮轰《中国奇谭》 导演回应:审美提高了就理解了
世界速看:Codeforces 1630 E Making It Bipartite 题解 (Dilworth定理)
世界播报:使用 Elasticsearch 搭建自己的搜索系统,这个厉害了。。
理解宏定义
2023春节新片预售票房破3000万:黑马杀出 《流浪地球2》仅排第三
数字化“乡村小道”跑得不舒服,试试低代码“高速公路”
当前看点!一位民办二本学生的年终总结
今日看点:荣耀首款小折叠屏来了:5千档真香
世界信息:今晚8点播出 王冰冰、撒贝宁等人组团剧透央视网络春晚
3999元解决安卓四大不可能 一加11成酷安最热机型:领先第二名一倍
认识Java语言
读编程与类型系统笔记07_子类型
张朝阳称年轻人不要只追求赚钱和快乐:想法不对 你会很痛苦 本人风趣回应
当前热讯:网易开始解散暴雪游戏相关团队!分手已成定局
世界微头条丨特斯拉海外大降价 美国新车主:恶心、不愿再看一眼爱车
全球快消息!门票值了!大熊猫看到游客后展示“才艺”:抱着竹子连续翻跟头
省钱还是抠门?马斯克不交房租:员工在工作日被房东赶出
当前视点!Netty-核心模块组件-4
环球视点!微信将处理假冒仿冒官方组织公众号:严重违规直接删号
全体起立!马自达MX-30 R-EV官图发布:转子发动机回归
全球要闻:雷军晒奖杯:《小米创业思考》获2022豆瓣年度大奖 揭秘小米创业经历
和女神视频聊天再也不害羞了!NVIDIA新技术让你“暗送秋波”:画面以假乱真
今日热讯:新娘刚下婚车遭痱子粉迎面砸脸引网友热议:婚闹是素质缺乏没教养?
当前讯息:“爱妻”来了!理想L7“皇后座”到底有多爽?1米2的腿部空间感受下
万元LV误标1599元被秒拍 得物回应:多次确认无异 无权干预
ruoyi打包jar分离配置部署
环球热消息:今晚8点见!2023央视网络春晚节目单发布:王心凌、董宇辉首次加盟
数论笔记-同余
“背菜女孩”家人回应1年赚20万 不穷:虚构捏造博眼球视频获流量应被整治
每日简讯:国铁西安局回应火车内设麻将桌:系主题定制列车 还有KTV、影院
【焦点热闻】苹果1200万像素为何胜过安卓1亿像素?历代iPhone相机揭秘:果然是神优化
记好这24个ES6方法,用于解决实际开发的JS问题
C#、TS和Dart对比3:编译时常量和运行时常量
2023性能战神!卢伟冰:Redmi K60 Pro是用户追求性能的不二之选
环球要闻:卡梅隆发文diss漫威电影:超级英雄演的像大学生
【天天报资讯】集体涨价!Intel 13代酷睿8款新U开卖:65W 24核高达4889元
为什么人类很难准确预测未来?
全球快看点丨《和平精英》开枪时的振动:居然可以造福盲人
当前消息!模板-线段树
全球热点!算法学习笔记(8.1): 网络最大流算法 EK, Dinic, ISAP
学习笔记——Spring简介;Spring搭建步骤;Spring的特性;Spring中getBean三种方式;Spring中的标签
实时:AcWing257 关押罪犯
当前关注:使用vscode调试PHP底层C源码
特斯拉降价后:门店半小时售10台 老车主直呼被损失4万
焦点速读:特斯拉降价引海外热议:这是《孙子兵法》!欲消灭传统车企
你拿多少?报告称2022年终奖人均2.19万元 一线城市近3万元
环球今日讯!果香浓郁!徐福记DODO综合果味棒棒糖 60支19.9元
【世界速看料】保护隐私!微信键盘iOS 1.0.2版更新:体积膨胀到237MB
全球观天下!联想GeekPro 2023主机首销6199元起:13代i5+RTX 3060
【天天快播报】春节前最后一次成品油调价来了!或迎2023年首次降价
关注:畅想未来:2023年手机还能怎样进化?
对话郑刚:与罗永浩分歧关键不是商业利益
最野性的福特SUV!探险者Timberline亮相:超帅黑橙配色
33.58万起!比亚迪腾势D9成交付最快破万高端MPV
天天通讯!《魔兽世界》国服关闭倒计时!网易向玩家发短信安利《逆水寒》
从超前点映到480P投屏 视频平台赚钱只能靠“割韭菜”?
环球快消息!程序猿创造的AI虚拟漂亮老婆 被真女友强制“安乐死”了
天天热议:液金+水冷压住RTX 40系显卡:机械革命晒新旷世笔记本散热系统
特斯拉海外大降价!老外车主气炸请求维权:免费送FSD
环球关注:4K缩水到480p 爱奇艺称“有权变更内容” 律师回应称肯定违约了
环球讯息:《流浪地球2》发行通知公开:片长173分钟对标《阿凡达2》