面向对象

两大思想


编程界的两大思想:面向对象、面向过程。

面向过程,是一种以过程为中心的编程思想。分析出解决问题所需要的步骤,用方法依次把步骤实现出来再依次去执行步骤

面向对象,以一种事物为中心的编程思想。在分析和解决问题时把思维和重点转向现实中的客体中来,把构成事物分解成各个对象

例如看新闻,面向过程是打开报纸、查看新闻、放下报纸。面向对象是选择哪种方式看新闻、要看什么新闻、看什么语言的、看什么类型的(财经、体育、军事...)。面向过程是一种自顶向下的编程,面向对象是把事物抽象化

对于描述复杂的事物,为了从宏观上把握、从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路去处理。

面向对象编程(OOP)

Java的编程语言是面向对象的,采用这种语言进行编程称为面向对象编程(Object-Oriented Programming, OOP)。

面向对象编程本质就是以类的方式组织代码,以对象的方式封装数据

1.面向对象三大主要特征

1.1.封装(Encapsulation)

在日常购物中,电商平台给予我们足不出户即可享受到购物的乐趣,当然,在购物中我们不用去关心电商平台其内部运作机制,我们只需要选购产品和付款即可。封装亦是如此,把内部的实现隐藏起来,然后只暴露必要的方法让外部调用。

1.2.继承(inheritance)

当然,选购产品和付款是电商平台最基本的功能,实际,电商平台还会在其基础上再多入新的功能,如直播选购、按喜好给用户推送产品等等一系列扩展的功能。继承就是后来者在保证原有功能不变的前提上,再在其体制上添加扩展的功能

1.3.多态(polymorphism)

当选购完产品,到给钱了,不同平台会用不同的结算方式,微信或支付宝结算,后台调用的接口也是不一样的,但后台调用什么接口我是不关心。多态就是可以用不同的方式完成同一个事件,微信、支付宝都是为了完成付款。方法重载本身就是一个多态性的体现。

2.抽象(abstract)

市面上的电商平台五花八门,但他们都有相同的共性,如选购产品和付款,有共性的一类事物可以作为一个抽象。在选购产品时,不管是什么平台,只要是同一类型的,都可以提供相同的功能

3.类与对象

类是一个蓝图,它只有属性的,是一类事物的描述。对象是一个具体,是类的实例化结果。

例如车,车是抽象的,有房车、越野车等都是具体的实例,这些实例就是对象

抽象来说:类与对象的关系就如模具和铸件的关系,类实例化的结果就是对象,而对对象的抽象就是类,类描述了一组有相同特性(属性)和相同行为的对象。

在java中,没有类就没有对象,然而类又是根据具体的功能需求,进行实际的分析,最终抽象出来的

posted @   hello_12153_98  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示