C#面向对象的学习笔记

1.面向对象的3要素:

封装:将不需要显示的代码封装到一个方法中,只对外提供方法名,用户不需关心内部实现。

继承:子类继承父类,公用父类的代码,大大提高了代码的重用,贴近生活也符合人类的编程思想。

多态:使一样的方法具有不同的实现效果,大大简化了开发的难度。实现接口和继承父类都能实现多态。

其他术语:

接口[interface]:接口提供一套规则继承接口的子类都必须实现其中的方法,也是实现多态的一个途径。

结构[struct]:结构是一个特殊的类,但是是值类型,且里面的字段不允许初始化,类可以。

密封类[sealed]:不能被继承的类

抽象类[abstract]:只能被继承,不能实例化,也可以有抽象方法。

枚举[enum]

单词与解释:

abstract,抽象

interface,接口

virtual,虚方法

override,重写方法

enum,枚举

sealed,密封类

struct,结构

访问控制:

publicg,公共的

private,私有的

internal,如果不写,默认是这个,同一命名空间下访问

proteded,只有派生类可以访问

public readonly int myint=1;//readonly代表只有在构造函数中和初始化时对字段进行赋值

Const:常量,代表字面量,不能修改的。

接口成员必须是公共的public.

关于引用类型与值类型:

引用类型有:String,Class,Array,Object,interface     引用类型转换->值类型   叫【拆箱】

值类型有:enum,int,doule,boolean,struct,decimal   值类型转换->引用类型   叫【装箱】

框架与模式的区别:

框架:是指整个系统上的一个整个框架的设计。例如:MVC,三层

模式:指在框架设计中的代码实现,实现代码的重用,概念上比框架小。例如:工厂模式

接口与抽象类的区别

抽象类表示的是,这个对象是什么。

接口表示的是,这个对象能做什么。

比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。

人可以吃东西,狗也可以吃东西,你可以把“吃东西”定义成一个接口,然后让这些类去实现它.

一个类只能继承一个类(抽象类)(正如人不可能同时是生物和非生物),但是可以实现多个接口(吃饭接口、走路接口)。

第一点. 接口是抽象类的变体,接口中所有的方法都是抽象的。而抽象类是声明方法的存在而不去实现它的类。
第二点. 接口可以多继承,抽象类不行
第三点. 接口定义方法,不能实现,而抽象类可以实现部分方法。
第四点. 接口中基本数据类型为static 而抽类象不是的。

当你关注一个事物的本质的时候,用抽象类;当你关注一个操作的时候,用接口。

原文地址:https://www.cnblogs.com/Evan-Pei/p/4343649.html