C#学习基础,面向对象的三大特征
学习C#编程,相信大家除了经常接触的是hello world之外,更多的是进一步的去熟悉这门语言的基本特征,以及有哪些概念是我们必要掌握了解的,相信大家都是会知道面向对象的三大特性分别是:封装,继承,多态。但这三大特性分别是什么意思呢?专业上的理解是比较难的,我们只需要用自己的话来理解一下,是更加容易理解,想要学习开发?还是从基础的学起。

一,封装:
首先我们可以把世界上任何一个东西都看作为一个对象,在这里就以人为例,那么一个人就是一个对象。
封装的意思是什么?
可以这样的去理解封装就是这个人要完成一件事情,他所需要的任何工具都带在了自己的身上,所需要的技术也都装在了自己的脑子里了。不需要借助于别人的力量就能完成这一件事情。这样做的好处就是如果我要吩咐这个人去完成一件事情,并不需要知道它是怎么完成的,也不需要协助他去完成,只知道结果,它完成了,也就行了,至于它是先做什么,后做什么我们也不需要知道,这样是有利于他尽力的去完成这些事情。
用书面的语言解释就是:
每个对象都是包含它能进行操作所需要的所有信息,所以对象不必依赖其它的对象来完成自己的操作。
二,继承:
还是以人为例子,我们知道每个人都会有一些共同的特征,都要做一些相同的事情。比如:人都有一个脑袋,二只胳膊,二条脚,这是共同的特征吧。生活上都要吃饭,喝水,这是要做的相同的事情。若我们现在要声明很多个人,每个人都会有这些特征,这样就需要去写很多重复的代码?因此我们先建一个人的父类,这个父类不代表一个具体的人,它只是一个拥有人所有共同特性的虚拟的人。下次我们要实例化一个具体的人的时候,只需继承上面这个“虚拟的人”,他就拥有了人的所有共同特性。通过继承的方法重复的代码就不用写了。
实际上继承的目的不仅仅是为了节省代码,它还有实现后面的多态的功能。一般的初学者只需要了解继承可以少写很多代码,在项目中可以不断的去学习。
利用书面的一个解释如下:
对象的继承代表一种"is-a"的关系,我们假如两个对象A和B,如果可以描述为"B就是A",那么则表示B可以继承自A。
需要注意的是:
如果A继承了B,那么A不仅拥有了B除私有的特性外的所有特性,A还可以拥有自己独特的特性。在上面的人的例子中,一个继承了“虚拟的人”,那么他除了有一个脑袋,二只胳膊,二条脚,要吃饭喝水外,他可能还会编程。因此编程就是他独特的特性了,并不是每个人都会编程的。
三:什么是多态:
有多态之前必须要有继承,需要了解清楚的是只有多个类同时继承了同一个类,才有多态这样的说法。
说开了人,就用人的例子,在前面我们有说过人都要做“吃饭”这样一个相同的事情。“吃饭”这个事情,在类中的体现就是方法了。因为是人都是要做的,因此我们在“虚拟的人”中写好了这个方法之后,吃饭方法都不同,有用筷的也有用叉的,有要吃米饭的也有要吃面的。所以如果我们要描述不同人的吃饭的过程,就要把这个过程放到具体的子类中去了,同样的道理,子类都有不同的实现方式,这个意思就是多态了,多态有助于程序的灵活性。
需要注意的是:子类中如果重写了父类的方法(多态),那么父类中的这个方法是不会再调用。
编程语言概念性的东西还是需要在实践中多点去理解的,相信大家通过自己的话,来去理解面向对象的特征会简单许多,如果是看原文的专业介绍的话,理解起来还是有一点的困难的。
C#学习基础,面向对象的三大特征的更多相关文章
- Java学习:面向对象的三大特征:封装性、继承性、多态性之继承性
面向对象的三大特征:封装性.继承性.多态性. 继承 继承是多态的前提 ,如果没有继承,就没有多态. 继承主要解决的问题就是:共性抽取. 继承关系当中的特点: 子类可以拥有父类的“内容” 子类还可以拥有 ...
- python基础-面向对象的三大特征
继承 单继承 父类 基类 子类 派生类 继承:是面向对象软件技术当中的一个概念,如果一个类别A“继承自”另一个类别B,就把这个A称为“B的子类别”,而把B称为“A的父类别”也可以称“B是A的超类”. ...
- C#学习笔记7:多态是面向对象的三大特征(封装、继承、多态)之一
多态: 多态是面向对象的三大特征(封装.继承.多态)之一. 什么是多态? 一个对象表现出多种状态. 多态的实现方法: 1.虚方法: 2.抽象方法: 3.接口. PS:New 关键词可以隐藏父类的方法. ...
- Java面向对象的三大特征
Java面向对象的三大特征 java面向对象的三大特征:“封装.继承.多态”.更多Java技术知识,请登陆疯狂软件教育官网.微信搜索微信号:疯狂软件,参加2015年优惠活动,有机会获得优惠劵和代金劵. ...
- OC面向对象的三大特征
OC面向对象的三大特征 1.OC面向对象的三大特封装 1)封装:完整的说是成员变量的封装. 2)在成语方法里面的成员变量最好不要使用@public这样会直接暴露在外面被别人随随便便修改,封装的方法还可 ...
- 解析PHP面向对象的三大特征
class BenHang extends Card{ /*构造函数与及构造的继承*/ function __construct($cardno,$pwd, $name,$money){ parent ...
- 全面解析PHP面向对象的三大特征
PHP面向对象的三大特征: 继承,封装,多态 一.继承 1.如何实现继承? 给子类使用extends关键字,让子类继承父类: class Student extends Person{} 2.实现继承 ...
- Java基础-面向对象第三大特性之多态(polymorphism)
Java基础-面向对象第三大特性之多态(polymorphism) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.多态概述 多态是继封装,继承之后,面向对象的第三大特性,多态的 ...
- Java面向对象的三大特征和五大原则
Java面向对象的三大特征 封装 封装(Encapsulation)是指属性私有化,根据需要提供setter和getter方法来访问属性.即隐藏具体属性和实现细节,仅对外开放接口,控制程序中属性的访问 ...
- Python面向对象初始(三大特征,多态,继承,封装)
Python面向对象的初始 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点是:极大的降低了写程序的 ...
随机推荐
- AngularJS中【Error: [$rootScope:inprog]】的解决办法
AngularJs脏数据检查冲突 Error: [$rootScope:inprog] http://errors.angularjs.org/1.5.8/$rootScope/inprog?p0=% ...
- 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_运行时解析类型引用
public sealed class Program{ public static void Main() { System.Console.WriteLine("Hi"); } ...
- 8.JSP基础
1.Servlet与JSP关系 JSP工作原理: 一个JSP文件第一次被请求时,JSP引擎把该JSP文件转换成为一个servlet JSP引擎使用javac把转换成的servlet的源文件编译成相应的 ...
- mybatis-Plus 增强版用法收藏
转载:http://www.cnblogs.com/okong/p/mybatis-plus-guide-one.html#xml%E5%BD%A2%E5%BC%8F https://blog.csd ...
- Java学习笔记day06_自定义类_ArrayList
1.自定义类class 使用类的形式, 对现实中的事物进行描述. 类是引用数据类型. 事物: 方法,变量. 方法:事物具备的功能. 变量:事物的属性. 格式: public class 类名{ //属 ...
- Linux ps命令记录
ps命令:查看当前系统进程状态 ps -a 显示当前所有进程ps -ax 显示没有控制终端的进程ps -u better 查看用户better的进程ps aux|less 通过cpu和内存来 ...
- java字符串转Date
public static Date StrToDate(String str) { SimpleDateFormat format = new SimpleDateFormat("yyyy ...
- 安装 Office project 2013 时提示找不到 Office.zh-cn\OfficeLR.cab
昨天在安装project 时总是弹出下图中的提示框,在网上搜索了很多办法但是没有解决这个问题. 后来进入到office.zh-cn的文件夹中,在officemui.msi文件中右键卸载,然后在重新安装 ...
- 局部安装webpack时,使用webpack命令时提示webpack不是内部命令解决方法
现在js发展太快了,根本看不懂啊.于是乎想做做功课,于是乎看到了这些“奇怪”的写法,原来好多都是遵循了 ECMASCRIPT6,好吧,在本地看看怎么用的吧.写在本地的环境下, 发现各种报错,根本不能用 ...
- CAD安装失败怎样卸载CAD 2009?错误提示某些产品无法安装
AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...