我个人对OOP的理解

OOP面向对象的思维: pay1:封装 A.避免使用非法数据赋值 B.保证数据的完整性 C.避免类内部发生修改的时候,导致整个程序的修改

pay2:继承

A.继承模拟了现实世界的关系,OOP中强调一切皆对象,这符合我们面向对象的编程思考方向 B.继承实现了代码的复用,这在例子中我们已经有所体会,合理地使用继承,会使我们的代码更加简洁 C.继承使得程序结构清晰,子类和父类的层次结构更清晰,最终的目的是是子类只关注子类的相关行为和状态,无须关注父类的行为和状态.例如,学员只需要管 理学号、爱好这种属性,而公共的姓名、年龄、性别属性交给父类管理

pay3:多态 A.相同的两个或者是多个属于不同类的对象,对于同一个消息(方法的调用)做出不同响应的行为方式 pay4:接口 A.接口是对继承单根性的扩展:请你回想一个我们在第六章的继承中的问题,在C#中,一个子类可以继承多个父类吗?根据我们学习的知识,这是不可以的。但 是接口可以说是充某种程度上实现了多重继承的功能。在C#中,一个类虽然不能实现多重继承,但是一个类可以实现多个接口。通过实现多个接口可以说是变 相的实现了类的多重继承。 B.接口是一种规范和标准:一个类如果是实现了一个接口,意味着这个类遵循了某种规范和约定。其它类可以通过这些规范和约定与她通信 C.接口屏蔽了实现的细节:接口可以让接口的使用者不必关心接口的实现者是如何实现USB接口标准,就可以正常使用它了。同样在程序中一个类 如果实现了IComparable接口,便可以让这个类的对象进行排序。 D.接口的使用方便团队的协助开发:例如一个系统,加入要实现对象的排序功能,实现接口的专门实现接口,而做排序功能的专门做排序,如果一 个系统都能够做到这种设计,便可以更为方便的使用开发团队进行的分工明确的协作开发! pay5:序列化和反射 A.我们经常需要将对象的字段值保存到磁盘中,并在以后检索此数据。尽管不使用序列化也能完成这项工作,但这种方法

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏xingoo, 一个梦想做发明家的程序员

剑指OFFER之最小的K个数(九度OJ1371)

题目描述: 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。 输入: 每个测试案例包括...

2029
来自专栏海纳周报

【第四期】GC专题

我在某个技术群里发现很多人对GC的问题是最多的。确实,由于Java的GC经常会刷存在感(例如占用大量的CPU时间,full gc时直接失去响应),GC的问题就成...

3689
来自专栏司想君

即学即用系列一:纯函数

最近一直在思考如何通过文章或者培训快速提升团队的编码能力,总结下来其实技术的学习分为两类:一种是系统性的学习,比如学习一门语言,学习一个开发框架,这更需要自己从...

2827
来自专栏磐创AI技术团队的专栏

干货 | 如何写一个更好的Python函数?

《Writing Idiomatic Python》一书的作者在Medium上发表了一篇文章,给出了6个建议。

781
来自专栏magicsoar

Effective Modern C++翻译(1):序言

/*********************************************************** 关于书: 书是我从网上找到的effec...

1969
来自专栏Crossin的编程教室

【Python 第25课】 初探list

昨天课程里的例子有点没说清楚,有同学表示写在程序里发生了错误。因为我当时写这个代码片段时,心里假想着这是在一个函数的内部,所以用了return语句。如果你没有把...

3206
来自专栏杨建荣的学习笔记

Python代码重构参考

在数据库方向上相对来说能够容易推出开发规范和标准,但是你很少听到公司里面出针对开发同学的开发规范。我觉得其中的一个原因是程序猿比较执拗,以技术服人,经常...

2390
来自专栏java学习

Java每日一练(2017/8/23)

最新通知 ●回复"每日一练"获取以前的题目! ●【新】Android视频更新了!(回复【安卓视频】获取下载链接) ●【新】Ajax知识点视频更新了!(回复【学习...

2866
来自专栏编程

手把手教你半个小时用python语言编程出你的第一个程序

学习目标 知道有序的软件开发过程的步骤。 了解遵循输入、处理、输出(IPO)模式的程序,并能够以简单的方式修改它们。 了解构成有效Python标识符和表达式的规...

3915
来自专栏我杨某人的青春满是悔恨

Swift API 设计指南(上)

本文翻译自苹果官方文档:Swift API Design Guidelines,如有错漏,欢迎指出。

1133

扫码关注云+社区

领取腾讯云代金券