C# 面向对象

面向对象:

面向对象方法是软件工程、程序设计的主要方向,也是最有效、最实用和最流行的软件开发方法之一。

C#是完全面想对象(OOP)的程序设计语言,具有面向对象程序设计方法的所有特性。

面向对象方法的基本思想就是从所要解决的问题本身出发,尽可能运用自然的思维方式(分析、抽象、分类、继承),以现实世界中的事物为中心思考问题、认识问题,并根据这些事务的本质特征,把他们抽象表示为系统中的对象,作为系统的基本构成单位。

面向对象的最基本的特征是抽象性、封装性、继承性、多态性。

对象(object):

客观世界中任何事物都可以看成一个对象,汽车、房屋、狗都可以看成一个对象。

任何对象都应当具有属性(attribute)和行为(behavior)两个要素。

对象 = 属性 + 行为(方法、操作)

类(class):

类表示具有相同属性和行为的一组对象的集合。

C#程序的源代码必须放到类中,一个程序至少包括一个类。

类是抽象的,不占用内存,而对象是具体的,占用存储空间

抽象(abstraction):

抽象是处理事务复杂性的方法,只关注与当前目标有关的方面,而忽略与当前目标无关的方面。

int是对所有整数的抽象,double是对所有双精度浮点型数的抽象。

封装(encapsulation):

将有关的数据和操作代码封装在一个对象中,形成一个基本单位,各个对象之间相对独立,互不干扰。

将对象中的某些部分对外隐藏,即隐藏内部细节,只留下少量接口,以变与外界联系,接收外界联系。

一台电视机就是一个封装体,从用户的角度只需要关注开关按钮,音量开光等,不需要关心其内部构造

继承

如果在软件开发中已建立了一个名为A的类,又想建立一个名为B的类,B与A内容基本相同,B在A的基础上增加了一些新的属性和行为。显然不必再从头设计一个新类,只需在A类的基础上增加一些新的内容,B拥有A的全部属性与方法,称作B类对A类的继承。A类称为基类或父类,B类称为派生类或子类。

继承机制的优势在于降低了软件开发的复杂性和费用,使软件系统易于扩充,大大缩短了软件开发周期,对于大型软件的开发具有重要的意义。

多态(polymorphism):

在基类中定义的属性或方法被派生类继承后,可以具有不同的数据类型或表现出不同的行为。

(0)

相关推荐

  • C++入门到精通:面向对象程序设计中的继承与派生!

    面向对象程序设计有4个主要特点:抽象.封装.继承和多态性.本章主要介绍有关继承的知识,多态性将在后续章节中讲解. 继承性是面向对象程序设计最重要的特征,可以说,如果没有掌握继承性,就等于没有掌握类和对 ...

  • 面向对象软件测试与传统测试的不同之处

    由于面向对象技术具有封装.继承.多态等新的特性,带来了传统程序设计所不存在的错误,导致原来行之有效的软件测试技术对面向对象技术开发的软件有些力不从心. 面向对象软件测试与传统软件测试有以下不同: 测试 ...

  • 科普文,面向对象程序设计,要知道的那点事

    面向对象程序设计更简单,编程者需要关心的事情,就那点事.一.什么是对象?在现实生活中,每一个具体事物,都是对象!在程序设计中,每一个可以操作的实体,就是对象.是具有属性和方法的实体.举个例子吧!表单. ...

  • JavaSE系列(八)、面向对象

    八.面向对象 面向对象:区别于面向过程思想,强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去操作实现.它可以将复杂的事情简单化,并将我们从执行者变成了指挥者. 面向对象包含了三大基本特征, ...

  • C++面向对象:C++ 数据封装

    所有的 C++ 程序都有以下两个基本要素: 程序语句(代码):这是程序中执行动作的部分,它们被称为函数. 程序数据:数据是程序的信息,会受到程序函数的影响. 封装是面向对象编程中的把数据和操作数据的函 ...

  • Python面向对象有什么特性?三大点!

    我们都知道,Python是一门面向对象的编程语言,它具有三大特性,那么你知道Python面向对象三大特性是什么?接下来我们通过这篇文章来详细了解一下. 第一点:封装 隐藏对象的属性和实现细节,仅对外提 ...

  • 西电2021春 面向对象程序设计(C++)大作业读程题答案

    四.读程题(每题 5 分,共 20 分) 1.给出下述源程序的运行结果. #include <iostream.h> void fun(int i, int &j) {      ...

  • 西安电子科技大学2021春 面向对象程序设计(C++)大作业答案

    一.简答题(共 10 分) 1.(3 分)什么是引用?它与指针有什么区别? 2.(3 分)C++提供了哪些循环语句?它们各自的特点是什么? 3.(4 分)构造函数的作用是什么?在创建派生类的对象时,应 ...

  • java面向对象高级

    目录 1.类变量(静态类变量) 2.静态方法 3.Main()方法 4.代码块 5.单例模式 6.抽象类 6.1.抽象类的介绍 6.2.抽象类的特点 6.3.多态在抽象类的体现 6.4.抽象类体现了模 ...

  • Python教程:面向对象编程的一些知识点总结

    类与实例 类是对象的定义,而实例是"真正的实物",它存放了类中所定义的对象的具体信息. 类.属性和方法命名规范 类名通常由大写字母打头.这是标准惯例,可以帮助你识别类,特别是在实例 ...

  • 面向对象编程(中)

    继承性(inheritance) 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类 中, 那么多个类无需再定义这些属性和行为,只要继承那个类即可 多个类称为子类(派生类),单独的这个类称为父类 ...

  • 中文面向对象的编程特性将让其成世界文

    在计算机编程世界里支持面向对象编程的语言至少有Java,Objective-C,C++,C#,PHP等正被多数程序员使用,有三大特性:封装性.多态性.继承性.封装隐藏实现细节,使代码模块化:继承方便扩 ...