面向对象的理解

本文介绍了面向对象编程的发展历程,对比面向过程编程的不足之处,并深入讲解了面向对象的基本概念如类与对象、封装、继承、多态等,帮助读者更好地理解和应用面向对象的设计思想。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学编程,学思想。有了思想,才能决定一切。思想有多大,舞台就有多大。面向对象是一种常见的设计思想,被广泛的应用于编程。(也就是用来指导我们编程的)


在很久很久。。。以前,那时候还没有面向对象。传统的程序设计方式,采用面向过程的思想,即结构化程序设计。一个程序=算法+数据结构。面向过程编程有很多的弊端,很难适应大型应用的开发。后来就有人提出了面向对象思想,面向对象程序设计:对象=算法+数据结构;程序=对象+对象+对象......+对象。从这些公式中我们可以看出:面向对象是由面向过程发展而来的,面向过程是面向对象的基础。


面向对象程序设计,模拟了我们自然界认识和处理事物的方法,把事物的行为和属性都封装在对象里面。学习面向对象首先要先弄明白类和对象。因为在程序中面向对象就是通过类和对象来实现的。什么是对象?人们常说万物皆对象。“皆”就是“都”是的意思。也就是说万物都是对象,反过来说,对象指的是世界上的所有事物。什么是类?类是一个抽象的概念,它是对同一类对象行为属性的描述,在程序中类实际上是数据类型。千万不能说把事物的行为和属性封装在类里面,因为类是不具备执行能力的。类和对象之间的关系:类是对象的模版,对象是类的实例(副本)。


面向对象还有一些特性:像封装、继承、抽象、动态。(思考面向过程有这些特性?)


封装:隐藏事物的行为和属性,对外提供,公共的访问方式。从而提高代码的重用性和安全性,也方便了我们以后对事物的操作。封装不可以瞎封装。封装的目标是为了实现程序的高内聚和低耦合。像多个线程操作同一共享资源,如果线程任务相同,我们可以把共享资源,操作共享资源的代码,以及线程任务都封装在一起;如果线程的任务不同,我们可以把共享资源,操作共享资源的代码封装成一个资源类。再把资源对象作为参数传递给线程任务。


抽象:抽象不好说,因为类本身就是一个抽象的概念。可以说是对同一类事物进行抽取,更为关注事物的共性,而忽略了每个事物的具体特性。类、抽象类、接口都是抽象的体现。


继承:可以让类与类之间产生关系。子类或者子孙类可以共享父类的数据。父类里面有的子类可以直接拿过来用,这样就提高了代码的重用性。子类也可以覆盖父类的方法,这样就方便了我们,以后对父类的修改和扩展。同时继承也是多态的一个前提。


多态:父类或接口的引用指向子类对象,一个对象可以有多种数据类型,一个引用类型也可以指向不同的子类对象。这个引用类型到底指向哪个对象,可以在程序运行的时候决定。因为多态,所以程序变得更加灵活。前期定义的代码,可以使用后期的内容。


理解面向对象的这些基本特性,可以帮助我们更好的理解面向对象。总之面向对象就是一种设计思想。左边:学编程;右边:学思想;横批:面向对象。。。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值