1:封装

将对象进行封装,并不等于将整个对象完全包裹起来,而是根据实际需要,设置一定的访问权限,用户根据不同的权限调用对象提供的功能,在C#语言中,可以使用修饰符public、internal、protected、private分别修饰类的字段、属性和方法。

2:继承,主要是注意继承的格式

  1. public class ParentClass  //父类
  2. {
  3. public ParentClass();
  4. }
  5. public class ChildClass : ParentClass  :子类
  6. {
  7. public ChildClass();
  8. }

3:多态

多态是面向对象编程思想的核心之一,多态的意思是:当从父类派生出了一些子类后,每个子类都由不同的代码实现,因此,同样的调用可以产生不同的效果,主要由子类来决定,在程序运行时,面向对象的语言会自动判断对象的派生类型,并调用相应的方法。

在C#中多态分为两种类型,即编译时多态和运行时多态,编译时多态是通过重载来实现的,运行时多态是系统运行时根据实际情况来决定何种操作。

实例代码:

  1. public class MyIntertest
  2. {
  3. public virtual void interest()
  4. {
  5. Console.WriteLine("我的爱好");
  6. Console.ReadLine();
  7. }
  8. }
  9. public class Writer : MyIntertest
  10. {
  11. public override void Interest()
  12. {
  13. Console.WriterLine("写作");
  14. }
  15. }
  16. public class Program : MyInterest
  17. {
  18. public override void interest()
  19. {
  20. Console.WriteLine("编程");
  21. }
  22. }
  23. public class Sing : MyInterest
  24. {
  25. public override void interest()
  26. {
  27. Console.WriteLine("唱歌");
  28. }
  29. }
  30. public class Test
  31. {
  32. public static int main(String[] args)
  33. {
  34. MyInterest[] interests = new MyInterest[4];
  35. interests[0] = new Write();
  36. interests[1] = new Program();
  37. interests[2] = new Sing();
  38. interests[3] = new MyInterest()
  39. foreach ( MyInterest interest in interests)
  40. {
  41. interest.interest();
  42. }
  43. return 0;
  44. }
  45. }

4:

接口:    界面,是两个有界事物的交界处,通过界面可以与对方交互,交互的方式由约定产生,这种约定就是由具体交互动作的规则,只要遵循规则 即可与拥有规则的事物交互。    在C#中,接口是声明类具有的方法和成员的、自身不能被实例化的、只能被继承的特殊的类,其只管描述事物的特性而实现特性的任务却由其他类负责。    接口中不能包含字段    接口定义了类要实现的一系列方法,但是它本身不能实现这些方法,只是用逻辑结构方式来描述。        在接口的成员中,只能是方法、属性、事件或者索引器,它的成员不能包含常数、字段、运算符、实例构造函数、析构构造函数或类型,也不能包含任意种类的    静态成员。

  1. interface MyInterface
  2. {
  3. string STR    //属性STR
  4. {
  5. get;       //属性可读
  6. set;       //属性可写
  7. }
  8. void outMethod();   //成员方法outMethod
  9. }
  10. class InheritInterface : MyInterface
  11. {
  12. string str = "21天学习C#";    //定义并初始化字符串
  13. public string STR
  14. {
  15. get
  16. {
  17. return str;
  18. }
  19. set
  20. {
  21. str = value;
  22. }
  23. }
  24. public void outMethod()
  25. {
  26. Console.WriteLine(this.STR);
  27. }
  28. }

5: 域和属性     域也叫成员变量,它可以用来保存类的各种信息,域可以分为静态域和实例域两种,其中,静态域属于类,实例域属于对象。     属性是一种用来访问对象的特殊成员。          域的声明:和普通变量相同,可以用new, public, protected, static和readonly等

  1. public class Date
  2. {
  3. private string name = "hoan";
  4. public string nameAttr
  5. {
  6. get  //使用get访问器读值
  7. {
  8. return name;
  9. }
  10. set  //使用set访问器写值
  11. {
  12. }
  13. }
  14. }

6:匿名方法:
   匿名方法的作用是将代码块当作参数来使用,使代码对于委托的实例很直接,很便利,可以减少实例化委托对系统资源的开销。匿名方法还共享了
   本地语句包含的函数成员访问权限。
   
   匿名方法的使用:

  1. namespace codemo
  2. {
  3. delegate void Writer(string s);  //委托所调用的命名方法
  4. class Program
  5. {
  6. static void NamedMethod(string k)   //委托所调用的命名方法
  7. {
  8. System.Console.WriteLine(k);
  9. }
  10. static void Main(string[] args)
  11. {
  12. Writer w = delegate(string j)  //委托类调用匿名方法
  13. {
  14. System.Console.WriteLine(j);
  15. }
  16. w("调用了匿名方法");
  17. Console.WriteLine();
  18. w = new Writer(NamedMethod);  //创建对象
  19. w("调用了命名方法");          //调用命名方法
  20. Console.ReadLine();
  21. }
  22. }
  23. }

C#封装、多态、抽象、接口、匿名方法等学习的更多相关文章

  1. JAVA 之 多态 抽象 接口

    一:多态  1:多态   一个对象有多种形式的能力 2:步骤 1编写父类派生子类 2子类重写父类方法 3用父类的数据类型引用子类对象 3:静态多态的实现方式就是方法重载 4:动态多态的实现方式就是重写 ...

  2. java匿名内部类,多态,接口练习

    1多态以及接口调用方法: public class Interface { public static void main(String[] args) { Al x = new Al(); jian ...

  3. 匿名方法与Lambda表达式

    1.匿名方法 在学习委托时,我们知道委托实例至少要绑定一个方法才能使用,而调用委托实际上是调用了它所关联地方法.一般来说,需要定义一个与委托签名相符的方法,并使之与委托变量关联.如以下代码: Acti ...

  4. C#属性-索引器-里氏替换-多态-虚方法-抽象-接口-泛型-

    1.属性 //属性的2种写法 public class person { private string _name; public string Name { get { return _name; ...

  5. Java—继承、封装、抽象、多态

    类.对象和包 1) 面向对象编程(Object Oriented Programming ,简称 OOP):20世纪70年代以后开始流行. 2) 结构化编程与面向对象编程的区别: A. 在结构化编程中 ...

  6. java四大特性理解(封装继承多态抽象)

    封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口.面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治.封装的对象,这些对象通过一个受保护的接口访问其他对象.封装是一 ...

  7. Java知识回顾 (7) 继承、多态与接口、封装

    一.继承 1.1 继承的特性 子类拥有父类非 private 的属性.方法. 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展. 子类可以用自己的方式实现父类的方法. Java 的继承是单继承, ...

  8. 七:Java之封装、抽象、多态和继承

    本文章介绍了关于Java中的面向对象封装.抽象.继承.多态特点 Java面向对象主要有四大特性:封装.抽象.继承和多态. 一.封装 封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的总体, ...

  9. java中封装,继承,多态,接口学习总结

    ### 一:封装java中封装是指一种将抽象性函式接口的实现细节部分包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问.要访问该类的代码和数据,必须通 ...

随机推荐

  1. 计算器显示e-005什么意思

    计算器显示e-005什么意思 1e-005是科学表达式,即 =1e-5 =0.00001e+005就是乘以10的5次方 就是-1.4989*10^5 这是科学计数法(也叫指数计数法)   这是科学计数 ...

  2. 让pre标签自动换行示例代码

    pre 元素可定义预格式化的文本.被包围在 pre 元素中的文本通常会保留空格和换行符.而文本也会呈现为等宽字体. <pre> 标签的一个常见应用就是用来表示计算机的源代码.对于技术博客经 ...

  3. Floyd算法解决最短路径问题

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 万圣节的中午,A和B在吃过中饭之后,来到了一个新的鬼屋!鬼屋中一共有N个地点,分别编号为1..N,这N个地点之间互相有一些 ...

  4. “iOS 推送通知”详解:从创建到设置到运行

    这是一篇编译的文章,内容均出自Parse.com的iOS开发教程,同时作者还提供了视频讲解.本文将带领开发者一步一步向着iOS推送通知的深处探寻,掌握如何配置iOS推送通知的奥义. 介绍一点点背景资料 ...

  5. mybatis源码学习: 编译的方法

    mybatis3用了一段时间,抽出时间来研究一下.具体用法参考官方文档就行,源码在这里.mybatis相对而言,规模较小,可以从中学习如何编写高质量的java项目. mybatis3使用maven管理 ...

  6. 基本的SQL Server 语句,包含 增、删、改、查 程序员必会

    这是我以前学习时, 整理的一套基础SQL Server增.删.改.查 等语句 ,初学者可以从上往下学完. 也方便自己忘记时翻看! create database SQLschool go --批 go ...

  7. 【Android】创建、读取XML文件

    创建: package webdomain; import java.io.File; import java.io.FileNotFoundException; import java.io.Fil ...

  8. CentOS下安装gns3

    1.安装支持环境 sudo yum intall PyQt4 telnet 2.安装抓包用的wireshark sudo yum install wireshark wireshark-gnome 3 ...

  9. Spring MVC 问题列表:目录

    学习SpringMVC时遇到不少问题,这里将其汇总. 1.怎么搭建SpringMVC 2.SpringMVC和Spring使用是配置到一个文件中还是两个配置文件 3.SpringMVC接受从前台请求 ...

  10. cocos2d-x 3.2 例子文件工程的位置

    更新到3.2后突然想要看看官方的例子,忽然发现在test中的cpp工程下面没有了工程的启动配置.奇怪,难道只有代码吗?重新查找后原来启动的工程文件都移动到了build文件夹下面,具体的路径就是 coc ...