对面向对象的认识(一)

简介: 对面向对象的认识(一)

面向对象的三大特征


封装:也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。封装是面向对象的特征之一,是对象和类概念的主要特性。 简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分。


继承:是指可以让某个类型的对象获得另一个类型的对象的属性的方法。它支持按级分类的概念。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。


多态:就是指一个类实例的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口


面向对象的基础


抽象。


抽象是一个提炼存在于事物之间共同拥有的元素的过程,


如何理解下面这句话?


1)我们要注重多少人来干事,而不是干多少事。

2)我们要注重谁来干事,而不是怎么干事。

这与面向对象的抽象有什么关系?

解释:我们要注重多少人来干事,而不是干多少人,我们只需要知道做完这件事需要多少人,不需要知道这些人具体做的工作,以及怎么做。


我们要注重谁来干事,而不是怎么干。比如:我们有一个工程要做,我还是只知道是谁来负责做这些事情,具体他怎么做,自己不需要了解。


以打水举例子。打水作为一件事,应该有谁去打水。和去哪里打水。用什么打水。打水人,打水地点,打水工具三个类。这样可以是不同的人使用不同的工具去不同的地方打水。


要抽象出打水人类、打水工具、打水工具以及打水地点抽象出来


抽象是把关注点转移到主语身上。不需要指出来是让谁做什么


这样的说法是错误的:


a6ff3aa4146306d47e5d476f6939dcf6_efc0cdd867954c33bc0d49c8b0399feb.png


不应该去指明让谁去干什么,这样的说法是面向过程。关注点应该放在主语身上。


相关文章
|
缓存 开发工具 git
1.Git使用技巧-常用命令2
1.Git使用技巧-常用命令2
137 0
|
9月前
|
开发工具 Docker 容器
Docker 镜像加速器配置指南
dockerhub加速器失败,使用第三方加速器
|
Dart
Flutter|常用数据通信组件
在做需求时经常会遇到组件间通信,本篇汇总了几种常用的通信方式
230 57
|
边缘计算 安全 网络安全
隐藏服务器源IP怎么操作?
一篇文章看懂隐藏源IP!
437 0
如何处理Django项目中表数据的排序问题
如何处理Django项目中表数据的排序问题
|
数据库连接 网络安全 数据库
Flink CDC里怎么解决?
【1月更文挑战第24天】【1月更文挑战第116篇】Flink CDC里怎么解决?
268 1
|
Java API Spring
Spring5深入浅出篇:第一个Spring程序
Spring5深入浅出篇:第一个Spring程序
Spring5深入浅出篇:第一个Spring程序
|
前端开发
css sprite 的优缺点,使用方法和示例
css sprite 的优缺点,使用方法和示例
142 1
|
Windows
Win11(2):Win11有必要更新么?和Win10差别大么?它的右键菜单很不习惯(一)
今天同事问,Win11推送了,升级没。右键菜单很不习惯。 其实Win11还在预览版的时候就开始试用了。至于右键菜单,不习惯可以改呀。打回原形!
682 0
Win11(2):Win11有必要更新么?和Win10差别大么?它的右键菜单很不习惯(一)
|
Oracle 关系型数据库
Oracle数据泵导出导入报错stopped due to fatal error
Oracle数据泵导出导入报错stopped due to fatal error
990 0