面向对象编程概念简述

英雄的外婆 英雄的外婆     2022-11-18     328

关键词:

一、 编程范式

在我们编程语言里面,大致可以分为两个大类:命令式编程 和  声明式编程

1. 命令式编程

所谓命令式编程,就是以命令为主,给计算机一条一条命令,计算机来按照我们给的命令原封不动的执行。

命令机器如何去做事情(how)

常见的命令式编程语言有:C语言,C++,C#,Java,PHP,Ruby

从命令式编程语言又可以分为两大类:面向过程 和 面向对象

(1) 面向过程

就是分析解决问题所需要的步骤,然后把这些步骤一步一步实现

(2) 面向对象

所谓面向对象,就是将程序里面的模型看做一个一个的对象。对象和对象之间会产生彼此的联系。使用对象来解决问题

需要注意:就算是面向对象编程,里面也会有面向过程的步骤。

2. 声明式编程

所谓声明式编程,就是指告诉计算机你想要什么(what),让机器去解决如何实现。

声明式编程里面也可以分为两大类:DSL 和 函数式编程

(1) DSL

DSL翻译成中文为领域专用语言(Domain Specific Language)。顾名思义,就是指某一个领域专用的语言。

常见的DSL语言有HTML,CSS,SQL

(2) 函数式编程

将程序里面的一些模型看做是数学里面的函数来进行计算。

 

一、 面向对象

 

1. 什么是面向对象

 

首先需要搞清楚什么是对象(Object)。通俗来讲,就是东西。我们这个世界就是由各种各种的东西组成的。东西与东西之间有彼此的联系。

 

现实生活中我们描述一个东西,或者一个物品的时候,常常会从2个方面来进行描述

 

例如我要描述一个手机

 

首先第一个就是外观(属性):白色  5.5寸  矩形   

 

接下来就是从功能来进行描述:看电影 打电话  玩游戏

 

2. 面向对象和面向过程的区别

 

面向过程的特点:由顶自下,依次执行,我们需要去考虑每一个步骤。

 

面向对象的特点:面向对象更加符合我们人类的思想。我们只需要找到我们需要的对象即可。

 

ATM机取钱

 

面向过程:我们需要考虑每一个步骤,例如取钱的时候金额是多少,余额是多少,用户的输入是否合法

 

面向对象:只需要考虑这个ATM这个对象即可

 

3. 面向对象的特点

 

一般来讲,面向对象的特点有3个:封装,继承和多态

 

有些老的教材,会告诉你面向对象的特点有4个:除了上面3个以外,还多加了一个抽象

 

封装:就是将细节隐藏起来,不向外部暴露。例如现实生活中电视机就是一个典型的封装,无法看到内部电子元件这些细节

 

继承:和现实生活中一样,儿子可以继承父亲的一些东西。在程序里面子类可以继承父类。

 

多态:如果从语言的角度来看,就是不同对象同一方法的作用不一样。例如现实生活中,一个action这个单词对于不同的职业的人来讲,意义是不一样的。

 

4. 类

 

和现实生活中一样,东西一多,按照人的思维自然就会想到分类。比如给你1万本书。我们首先会想到分类,例如分为小说类,科技类,漫画类,政治类,经济类...每一个类别下面的书都是有共同的特点的。

 

类和对象的关系:类是对象的一种概括,是一个抽象的东西,对象是类的一种具体实现,是一个具体的东西。

 

5. 创建对象

 

(1) 通用编程语言产生对象的方式

 

对象是从类产生的。所以如果我们要获取对象,首先需要创建类

 

(2) JS中创建对象的方式

 

在ES6之前,JS里面没有类的概念。所以在ES6之前都是通过函数来模拟类

 

模拟类的函数通常被称之为构造函数。为了区分构造函数和普通函数,有一个不成文的规定,构造函数的函数名首字母大写

 

对象和构造函数,以及原型对象之间的关系图(重要)

 

前面我们所讲述的数组,函数,数字,字符串等都有对应的构造函数。如果是通过构造函数实例化的,那么就是一个对象

 

对象里面有一个叫做constructor的属性,可以查看到这个对象的构造函数

 

在每一个构造函数里面,都有一个隐藏属性,叫做prototype,这个属性指向一个对象,这个对象就是通过构造函数实例化出来的对象的原型对象

 

面向对象编程

一、面向对象简述面向对象是一种现在最为流行的程序设计方法,几乎现在的所有应用都以面向对象为主了,最早的面向对象的概念实际上是由IBM提出的,在70年代的Smaltalk语言之中进行了应用,后来根据面向对象的设计思路,... 查看详情

通俗简述依赖倒置?控制反转?依赖注入?面向接口编程的思想

 不管怎样我们都是为了提倡高内聚和低耦合的思想,这么多种思想是不是看那些概念头晕的不行呢?这里我们主要列举吃饭的例子让大家更直观的理解这几个概念,现在有顾客(客户端)与餐厅(服务端)两个对象 依赖... 查看详情

面向对象编程思想

目录什么是面向对象编程一:编程简述二:面向对象编程:三:面向对象的编程语言:什么是面向对象编程一:编程简述编程抽象的来看是一种工具,和做饭的锅、碗、瓢、盆一样帮助我们做成做饭这... 查看详情

面向对象(oop)基本概念(代码片段)

面向对象编程--ObjectOrientedProgramming简称OOP目标了解面向对象基本概念0.1面向对象基本概念面向过程和面向对象,是两种不同的编程方式对比面向过程的特点,可以更好第了解什么是面向对象1.1过程和函数过程是早期的一个编程概... 查看详情

面向对象的编程思想和java中类的概念与设计

面向对象的编程思想学习,面向对象内容的三条主线;1.java类及类的对象2.面向对象的三大特征3.其他关键字学习内容:3.1面向对象与面向过程面向对象与面向过程在应用上的区别Java中类的概念与设计类与类之间的关系面向对象的... 查看详情

面向对象编程01

...类的概念!那么为什么要有类呢?  1.我们知道python是面向函数编程和面向对象编程的,那么什么是面向函数编程?什么又是面向对象编程呢?   实际上面向函数编程就是将函数作为一个事物传来传 查看详情

2021年最新python讲义:面向对象(oop)基本概念(代码片段)

面向对象(OOP)基本概念面向对象编程——ObjectOrientedProgramming简写OOP目标了解面向对象基本概念01.面向对象基本概念我们之前学习的编程方式就是面向过程的面相过程和面相对象,是两种不同的编程方式对比面向过程的特点... 查看详情

面向对象概念(代码片段)

面向对象编程(ObjectOrientedProgramming,OOP,面向对象程序设计)是一种计算机编程架构。面向对象是一种编程思想,它是对现实世界的一种抽象描述。什么是对象?万事万物都是对象,客观存在的任何一个实体都是对象,区分于... 查看详情

面向对象概念

一、编程范式  编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程,一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大路通罗马,实现一个任务的方式有很... 查看详情

python面向对象:面向对象(oop)基本概念类和对象基础语法封装案例私有属性和私有方法(代码片段)

一、面向对象(OOP)基本概念面向对象编程——ObjectOrientedProgramming简写OOP目标了解面向对象基本概念01.面向对象基本概念我们之前学习的编程方式就是面向过程的面相过程和面相对象,是两种不同的编程方式对比面向过程的特... 查看详情

javascript面向对象编程

...com/a/1190000002900676 介绍和java这种基于类(class-base)的面向对象的编程语言不同,javascript没有类这样的概念,但是javascript也是面向对象的语言,这种面向对象的方式成为基于原型(prototype-base)的面向对象。虽然说ES6已经引... 查看详情

面向对象的一些重要的基本概念

...来就是接触到了Java,我在Java中接触到的最多的就是利用面向对象的思想编程,当时,感觉使用这种面向对象思想编程非常的别扭,非常的不舒服,没有面向对象更加直接,后来,在逐渐Java的 查看详情

简述java程序中注释的作用及类型。

...下:  /**  *.........  *.........  */Java:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向... 查看详情

面向对象程序设计思想简述

对象:  1.在现实世界中是一个实体或者一个事物的概念,可以看做是一种具有自身属性和功能的构件  2.不关心其内部结构及实现方法,仅仅关心他的功能和它的使用方法,也就是该对象提供给用户的接口.  3.对象将其属性和... 查看详情

javascript--面向对象原型继承(代码片段)

1.面向对象原型继承面向对象编程JavaScript的面向对象编程和大多数其他语言如Java、C#的面向对象编程都不太一样。如果你熟悉Java或C#,很好,你一定明白面向对象的两个基本概念:所以,类和实例是大多数面向对... 查看详情

面向对象的思考过程

第1章面向对象的概念简介  1.1基本概念  1.2对象及遗留系统  1.3过程式编程与面向对象编程  1.4由面向过程开发过渡道面向对象开发    1.4.1过程式编程    1.4.2面向对象编程  1.5究竟什么是对象    1.5.... 查看详情

java基础面向对象编程

1.理解面向对象1.1面向对象程序设计(oop)  程序=对象+对象+。。。  数据第一,算法第二  关键:让每一个对象负责执行一组相关任务1.2.面向对象编程的特性  在java语言中,万物皆对象,  程序是一组对象彼此之... 查看详情

面向对象程序设计思想简述

对象: ·在现实世界中是一个实体或者一个事物的概念,可以看作是一种具有自身属性和功能的构件。不关心其内部结构及实现方法,仅仅关心它的功能和它的使用方法,也就是该对象提供给用户的接口。 ·类似于电视... 查看详情