面向对象思想的理解

前言

面向对象编程,即OOP,是一种编程范式,满足面向对象编程的语言,一般会提供类、封装、继承等语法和概念来辅助我们进行面向对象编程。

类型被设计为将数据和行为捆绑在一起的一种东西,数据和行为被称之为类型的成员。我们可以创建类型的实例,不同的实例包含不同的数据,从而其表现出来的行为也会不同,尽管其代码是一样的。

封装使得类的成员得以有选择性的暴露,一些成员只在类型的内部使用,被称之为私有的(private),一些成员可以被派生类型使用,称之为受保护的(protected),一些成员可以被任何东西使用,称之为公开的(public)。而某些语言还提供了内部的(internal)这样的访问修饰符来标识一些只能被同一个程序集或者包使用的成员。

继承可以从一个现有类型派生出新的类型来,派生类继承了基类的所有成员,也可以新增只属于自己的成员。在任何情况下,派生类类型的实例可以被当做基类类型的实例来使用。

虚方法为派生类修改基类的行为提供了一个途径,通过重写(override)虚方法可以修改基类某些方法的行为。当派生类实例被当做基类实例来使用时,这一行为的区别将会被体现出来,这种在运行时不同类型的实例在同样的代码中呈现出完全不同行为的现象被称之为多态。

面向对象编程最初是为了解决GUI程序设计问题所提出的,后来面向对象编程被发现也比较适合用于许多特定领域的开发。面向对象编程是目前运用最为广泛的一种编程范式,从而也产生了非常多的解决代码复用的技巧,其中相当一部分技巧在程序中反复出现而被提炼为设计模式。


例子

“假设我是女娲,我准备捏一些人,
首先,人应该有哪些基本特征:
1.有四肢 2.有大脑 3.有器官 4.有思想 我们就有了第一个模型,这就是抽象

其次,我和西方上帝是好友,我想我的这个想法能够提供给他用,但是我不想让他知道里面细节是怎么捏出来的,用的什么材料,他也不用考虑那么多,只要告诉我他要捏什么样的人就可以了。这就是封装

然后,我之后创造的人都以刚才的模型做为模板,我创造的人都有我模型的特征 这就是继承

最后,我觉得为了让人更丰富多彩,暗合阴阳之原理,可以根据模型进行删减,某些人上半身器官多突起那么一丢丢,下面少那么一丢丢。某些人,下半身多突起那么一丢丢。这就是多态


总结
封装:主要是暴露接口,你不用关心内部实现。
继承:主要是让你不用重复造轮子了。
多态:让代码可读性更强,让编译器做更多的事。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值