首页 > 其他分享 >什么是面向对象

什么是面向对象

时间:2024-01-13 22:13:49浏览次数:26  
标签:对象 什么 学习 面向对象 抽象 面向 面向对象编程

面向过程&面向对象

面向过程思想

  • 按顺序进行,线性思维

  • 步骤清晰简单,第一步做什么,第二步做什么……

  • 面对过程适合处理一些较为简单的问题

面向对象思想

  • 属性加方法变成一个类

  • 物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。

  • 面向对象适合处理复杂的问题,适合处理需要多人协作的问题!

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

什么是面向对象

面向对象编程(Object-Oriented Programming, OOP)

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

抽象:把共同点剥离抽取出来变成一个类。编程思想!持续的学习,茅塞顿开!多实践,多测试大脑中的想法!实践出真知

三大特性:

  • 封装:有一万块钱不想让别人看到,但需要留个口给自己取钱。

  • 继承:子类继承父类的所有东西。

  • 多态:人都有学习的方法,A学习能力较强,B学习能力较弱,不同人学习效率不同。

从认识论角度考虑是先有对象后有类。对象,是具体的事物。类,是抽象的,是对对象的抽象。(先有一个个具体的人,再把一些人归类为教师,归类为学生)

从代码运行角度考虑是先有类后有对象。类是对象的模板。(先有人这个抽象的概念,再通过new这个关键字创造出一个个具体的人)

标签:对象,什么,学习,面向对象,抽象,面向,面向对象编程
From: https://www.cnblogs.com/poiuyjoey/p/17963070

相关文章

  • 虚函数:什么时候我们真的需要它?
    虚函数是函数指针的一种特殊的,可优化的语法糖,详见这个问题:https://stackoverflow.com/q/7046739/14033810作为语法糖,它所做的让语言更简单,更安全的改进是限制了函数调用的范围。函数指针不再指向每一个类型匹配的函数(或任一个函数,如果bypassC的类型检查),而是被限制在只能调用一个......
  • YARP(Yet Another Reverse Proxy)Yarp是什么?
    Azure应用服务用YARP取代了Nginx,获得了80%以上的吞吐量。他们每天处理160B多个请求(1.9mRPS)。这是微软的一项了不起的技术创新。首先我们来介绍一下什么是YarpYarp是什么?YARP(YetAnotherReverseProxy)是一个开源的、高性能的反向代理库,由Microsoft开发,使用C#语言编写。它旨......
  • Go 语言为什么不支持并发读写 map?
    大家好,我是frank,「Golang语言开发栈」公众号作者。01介绍在Go语言项目开发中,我们经常会使用哈希表map,它的时间复杂度是O(1),Go语言中的map使用开放寻址法避免哈希碰撞。Go语言中的map并非原子操作,不支持并发读写操作。Go官方认为map在大多数情况下是使用map......
  • 为什么说家庭教育是孩子的第一所学校,爸妈们(父母)是孩子的第一任老师?
    父母是孩子的第一任教师,家庭是人生的第一课堂。——家庭教育在孩子成长中的价值家庭教育好了,学校教育就会轻松高效,这是一个简单却管用的道理 无论多好的学校教育都代替不了家庭教育家庭是未成年人生活的第一环境,是他们成长的起点和摇篮,而从教育这个角度看,家庭则是孩子的第一......
  • 投屏的工作原理是什么,使用了什么协议
    投屏(ScreenMirroring)是一种将一个设备的屏幕内容显示到另一个设备上的技术。其工作原理通常涉及以下步骤:检测设备:首先,需要在投屏源设备(如手机、电脑)和目标设备(如电视、投影仪)之间建立连接。这可以通过无线或有线连接方式进行。建立连接:投屏设备之间通过特定的协议建立连接,以便传......
  • JS常用工具:Webpack 和 JShaman分别有什么用?
    Webpack和JShaman是两个不同的工具,它们的特点和用途也不同。Webpack是一个前端资源模块打包工具,主要用于将各种静态资源(如JavaScript、CSS、图片等)视为模块,并将其打包成浏览器可以识别的代码。Webpack的特点包括:1.模块化:Webpack将各种资源视为模块,使开发者能够更好地组织和管理项......
  • JS常用工具:Webpack 和 JShaman分别有什么用?
    Webpack和JShaman是两个不同的工具,它们的特点和用途也不同。Webpack是一个前端资源模块打包工具,主要用于将各种静态资源(如JavaScript、CSS、图片等)视为模块,并将其打包成浏览器可以识别的代码。Webpack的特点包括:1.模块化:Webpack将各种资源视为模块,使开发者能够更好地组织和管理......
  • 固态硬盘与机械硬盘有什么区别?
    固态硬盘和机械硬盘的区分方式有很多,首先从外形上,机械硬盘的体积要比固态硬盘大,所以重量也要比固态硬盘重,其次在售价方面,固态硬盘售价要比机械硬盘贵很多。在一般情况下,台式电脑中的基本都是机械硬盘,但随着固态硬盘的发展,随着市场和用户的各种需求,固态硬盘渐渐成为用户选购的重心......
  • 什么是分布式锁
    想象一下,如果没有分布式锁,多个分布式节点同时涌入一个共享资源的访问时,就像一群饥肠辘辘的狼汇聚在一块肉前,谁都想咬一口,最后弄得肉丢了个精光,大家都吃不上。而有了分布式锁,就像给这块肉上了道坚固的城墙,只有一只狼能够穿越,享受美味。那它具体是怎么做的呢?这篇文章中,小❤将带大家一......
  • 什么是PACS?PACS系统的功能特点有哪些?
    一、PACS简介PACS(PictureArchivingandCommunicationsSystem)即图像存储与传输系统,是应用于医院的数字医疗设备如CT、MR(磁共振)、US(超声成像)、X光机、DSA(数字减影)、CR(计算机成像)、ECT等设备所产生的数字化医学图像信息的采集、存储、管理、诊断、信息处理的综合应用系统。随着电子计算......