⑴ C#编程思想是什么
C#的编程思想就是面向对象(oop)"面向对象"的核心在于,先把所有要解决的分类!
每一类都是包含有特定的属性(功能)! 比如说如果你要用程序来模拟一类游戏角色,如游戏中的主角,它们会有男,有女,有战士有法师等等,但实质上它们都有共同特征,如所有的角色都有攻,防,生,魔等等相同的属性,它们唯一不同的是在属性的数值和属性的数量上! 那么,这时"面向对象"的编程思想实际上就是把前面所说的主角,都在程序时建立成一个对象, 该对象里用某一数据类型对应各主角所有属性! 之后, 以后如果想建立一个战士的话,那么,就定义一个名字为"战士"的对象,对象的结构就是刚才所说的结构! 然后再根据战士的特点赋初值...之后,一个完整的角色就建立完成了...其它的,弓手,法师都是一样的方法建立,不同的只是它们的属性初始值!!!
从上面可以很明显的看出,这样的程式设计方法,在以后维护起来是非常直观和简便的...(因为,程序的结构和人对现实所理解的结构是很相近的)...当然,这种思想也有缺点...从上面就可以看出,尽管战士可能没有法师的魔法技能,但是在设计上,也得包含进去! 否则就很难统一在一起了! (当然,这个问题也可以把战士,弓手,法师各自分类建立来解决,但这样一来,当一个共同属性要修改的时候,那么就会从以前只需修改一个对象变成现成需要修改N个了,这样一来,无异加大了以后的维护量!!! 其实,在用"面向对象"的编程思想来设计程序时,刚才的那个缺点是无可避免的. 因为,在同一类里,大多数情况都会有某一个个体对像的某个属性是多余的!!!,也就是,这样肯定会浪费一定的系统资源!!!,当然,由这样的方法带来的方便和易维护也是非常直接实用的! 到底怎样去设计,最后还得看具体情况)
⑵ 谁能解释下面向对象编程思想啊
面向对象的基本观点 :客观世界由对象组成,任何客观实体都是对象,复杂对象可以由简单对象组成。具有相同数据和操作的对象可以归纳成类,对象是类的实例。类可以派生出子类,子类除了父类的全部特性外还有自身的特性。对象之间的联系通过消息来联系,类的封装性决定了其数据只能通过消息请求调用可见方法来访问。
⑶ 在c语言中,什么叫做面向对象,什么叫做面向过程
面向对象和面向过程都是编程思想,分别以对象和过程为主要目标进行编程。
1、面向对象:面向对象(ObjectOriented)是一种软件开发方法。ObjectOriented的概念和应用已经超越了编程和软件开发。面向对象是一种理解和抽象现实世界的方法。它是计算机编程技术发展的产物。
2、面向过程:面向过程(Procere Oriented)是一种以过程为中心的编程思想。面向过程都是以正在发生的过程为主要目标进行编程,与面向对象明显的不同就是封装、继承、类。
(3)c语言中的面向对象的编程思想扩展阅读:
面向对象和面向过程的区别:
1、分析问题方式的不同:
面向过程是分析解决问题所需的步骤,然后使用函数逐步实现这些步骤,使用时一个接一个。
面向对象是将问题事务分解为各种对象。对象的建立不是为了完成一个步骤,而是为了描述一个事物在解决问题的整个过程中的行为。
2、解决问题的方法的不同:
面向过程其实是最为实际的一种思考方式,就算是面向对象的方法也是含有面向过程的思想。可以说面向过程是一种基础的方法。它考虑的是实际地实现。一般的面向过程是从上往下步步求精,所以面向过程最重要的是模块化的思想方法。
对比面向过程,面向对象的方法主要是把事物给对象化,对象包括属性与行为。当程序规模不是很大时,面向过程的方法还会体现出一种优势。
参考资料来源:网络-面向对象
参考资料来源:网络-面向过程
⑷ 什么是面向对象的编程思想可以用一个形象的例子说明一下么
时间万物皆是对象,也就是说你能看得见的或者看不见的东西,只要实际存在,它就是对象。对象是就某个具体个体而言的。
比如你自己的班级,对于你来说,你们班就是一个班级对象。而班级中的某个具体的人,他也是一个对象。
面向对象的编程思想就是把你需要解决的问题中的所有具体的东西,都看成一个对象,然后把所有具有相同性质的对象组成一个类,那些与问题无关的对象则忽略。
举个简单的例子:计算你们班所有人某次测验数学的总成绩。从下到上分析这个问题的所有对象。
要计算成绩,成绩必须有吧,那么一份成绩就是一份对象; 成绩哪里来呢,你们班同学的,如果你们班33个人,那么就是33个同学对象;既然计算你们班整体成绩,那么你们班级也是个对象。
其他与这个问题无关的对象可以不管,也就是说,这个时候他们是不是对象跟你无关,
比如如果只要计算你个人的成绩,那么班级这个对象,就与这个问题无关,这时候只需要两个对象。但是如果就每个对象编程的话,33个人就是33个对象,都写一遍,写死你都不够。
虽然每个人的个性不一样,但是跟我们的问题无关,每个人都有成绩这点是相同的,所以33个人其实在这个时候就是一个人。只要把他们定义成一个变量就行了,这就是类的概念。
比如对于数字,11,2,3,4,5,每个数字都是一个对象,但是他们具有相同的特点,把他们分成一个int类,用变量的形式表示具体的对象就可以了。
语言表达不行,不知道有没有说清楚,希望对你有点帮助。
⑸ 简述面向对象编程思想的三大特征
1*继承
继承是一种联合类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表达共性的方法。对象的一个新类可以从现有的类派中产生这个过程叫做类继承。新类继承了原始类的特性,新类成为原始类的派生类即子类,而原始类称为新类的基类即父类。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更加适合特殊的需求。
2*封装
封装是把过程和数据包围起来,对数据的访问只能通过已定义的画面。面对对象计算始终与这个基础概念及现实世界可以被描绘成一系列完全自治封闭的对象,这些对象通过一个受保护的接口访问其他对象。
3*多态性
多态性是指不同类的对象对同一消息做出响应多态性包括参数化多态性和包含多态性。多态性语言具有灵活抽象行为共享代码共享的优势很好地解决了应用程序函数同名问题。
⑹ 面向对象(1)
1、面向对象是一种编程思想, 把一切东西看成一个个对象 。把这些类拥有的 属性变量 和操作这些属性变量的 函数 打包成一个类。
2、面向过程和面向对象区别
面向过程 :根据业务逻辑从上到下编写代码
面向对象 :将数据和函数进行封装,可以快速开发,减少重复代码的重写。
封装 、 继承 、 多态
1、封装
将数据和操作数据方法进行结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互。 封装的本质就是管理 。
2、继承
可以使用现有类的所有功能,并在不需要重写原理类的情况下进行功能扩展。
继承方式:
3、多态
同 一操作作用于 不同 的对象,可以有 不同 的解释,产生 不同 的执行结果,这就是多态性。就是用 基类的引用指向子类的对象 。
多态实现: 重写 、 重载
1、重写
指 派生类 中存在重新定义的函数。其 函数名 、 参数列表 、 返回值类型 ,所有都必须同 基类 中被重写的函数 一致 ,派生类对象调用时会调用派生类的重写函数,不会调用被重写函数。
重写的基类中被重写的函数必须有 virtual修饰 。
示例:
2、重载
我们在平时写代码中会用到几个函数但是他们的实现功能相同,但是有些细节却不同。在 C++中人们提出了 用一个函数名定义多个函数,也就是所谓的函数重载 。
1 、 C++利用 命名倾轧(name mangling)技术 ,来改名函数名,区分参数不同的同名函数。 命名倾轧是在编译阶段完成的。
2 、 在 基类的函数前加上virtual关键字 ,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。
对象类型是派生类,就调用派生类的函数;对象类型是基类,就调用基类的函数。
c语言中不允许有同名函数,因为编译时函数命名是一样的,不像c++会添加参数类型和返回类型作为函数编译后的名称,进而实现重载。如果要用c语言显现函数重载,可通过以下方式来实现:
1、使用 函数指针来实现 ,重载的函数不能使用同名称,只是类似的实现了函数重载功能。
2、 重载函数使用可变参数 ,方式如打开文件open函数。
3、 gcc有内置函数 ,程序使用 编译函数 可以实现函数重载
示例:
1、默认构造和初始化构造 。定义类的对象时完成初始化工作。
示例:
有有参构造,编译器不再提供默认的构造函数。
2、拷贝构造
3、 移动构造函数。 用于将其他类型的变量,隐式转换为本类对象 。下面的转换构造函数,将int类型的r转换为Student类型的对象,对象的age为r,num为1004。
无参的构造函数、拷贝构造函数、赋值运算符、析构函数(非虚 )。
总结 :
父类构造函数 –> 成员类对象构造函数 –> 自身构造函数
析构顺序和构造顺序相反
⑺ 什么是面向对象编程思想
面相对象不是某一种语言的特性,而是一种编程思想。面向对象的编程的主要思想是把构成问题的各个事物分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述一个事物在解决问题的过程中经历的步骤和行为。
面向对象的三大特征分别是:封装、继承、多态,这三者是面向对象编程的基本要素
面向对象编程(Object-oriented Programming,缩写:OOP)
是软件工程中一种具有对象概念的编程范式(Programming Paradigm),同时也是一种程序开发的抽象方针,与之对应的编程范式还有:函数式编程(Functional Programming)、过程式编程(Proceral Programming)、响应式编程(Reactive Programming)等。
⑻ 真正的面向对象编程思想是怎样的
真正的面向对象编程思想就是忘掉一切关于计算机的东西,从问题领域考虑问题.
1、将分析过程为抽象的过程:简言之:分成多个小问题(组成部分),直到无法再细;
2、对每个对象(小问题)进行分析,抽象,提取处共同的内容(数据成员和操作方法),
3、有相似的对象的,构造基类;再有基类派生出各个确定的对象(小问题);
4、解决问题的过程就是操作这些对象的过程
⑼ C语言的面向过程和C++的面向对象分别是什么意思
C++和C的差别还是比较多的。
初学的话,可以认为C++是C的超集,除了支持C的面向过程,还支持面向对象编程。
面向过程就是以过程为中心的编程思想。分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。以公共汽车为例,在面向过程的思想里,汽车启动是一个事件,汽车到站是另一个事件。在编程序的时候我们关心的是某一个事件,而不是汽车本身,所以要分别对启动和到站编写程序。
面向对象是一种以事物为中心的编程思想。以公共汽车为例,我们关心的是由汽车抽象成的对象,这个对象有自己的属性,像轮胎、颜色等;有自己的方法,像象启动、行驶等,方法是汽车的行为,而不是汽车的每个事件。面向对象需要建立一个汽车的实体,由实体引发事件,所以要分别针对汽车的属性和行为编写程序。
⑽ JAVA和C#中面向对象编程思想是什么
从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域(现实世界)中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的其它概念来构造系统)。这可以使系统直接地映射问题域,保持问题域中事物及其相互关系的本来面貌。 说白了就是~一切皆为对象但是真正理解还是需要长期编码,然后你某一天突然觉得顿悟了