2018年10月29日

1.类可以定义的位置:

(1)单独定义一个class,在program类的同一个文件内

(2)单独定义一个class,在program类的不同一个文件内

(3)类内定义class——内部类,有public、protected、private。。。限制

(4)注意:class类不可以在main函数中定义

2.常量:

(1)定义格式:【public/protected/private】 const 类型 常量名 = 值;

(2)使用格式: 类名.常量名

(3)注意:成员属于类,而不是属于某一个对象的

3.静态成员:

(1)静态成员变量、静态成员函数

(2)定义格式:【public/protected/private】 static 数据类型 成员变量名;

(3)使用格式:类名.成员变量名

(4)注意:成员属于类,而不是属于某一个对象的

(4)注意:静态static不可以在函数中定义

4.不能够实例化的类——抽象类:

下面时具体课件

1.同一个命名空间下,类的定义

(1)单独定义一个class,在program类的同一个文件内

namespace ConsoleApplication5

{

class A { }// 单独定义一个class,在program类的同一个文件内

class Program

{

static void Main(string[] args)

{

A a = new A();

Class1 c = new Class1();

Console.WriteLine();

}

}

}

(2)单独定义一个class,在program类的不同一个文件内

(3)类内定义class——内部类,有public、protected、private。。。限制

class A {

public void show() { }

public class D { }

}// 单独定义一个class,在program类的同一个文件内

class Program
{
static void Main(string[] args)
{
A a = new A();
Class1 c = new Class1();
C c1 = new C();
A.D d = new A.D();
Console.WriteLine();
}
class C { } // 内部类
}

2.常量

定义格式:【public/protected/private】 const 类型 常量名 = 值;

使用格式: 类名.常量名

成员属于类,而不是属于某一个对象的

class A

{

public int i = 10;

public const float PI = 3.14f;

}

class Program

{

static void Main(string[] args)

{

A a = new A();

Console.WriteLine(a.i);

Console.WriteLine(a.PI);

Console.ReadKey();

}

}

3.静态成员

静态成员变量、静态成员函数

定义格式:【public/protected/private】 static 数据类型 成员变量名;

使用格式:类名.成员变量名

------ Build started: Project: ConsoleApplication6, Configuration: Debug x86 ------

E:\Jean\Solution\ConsoleApplication6\Program.cs(16,13): error CS0106: The modifier 'static' is not valid for this item

Compile complete -- 1 errors, 0 warnings

========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========

4.不能够实例化的类——抽象类

格式:abstract class 类名 { }

只能够被继承使用

5.不能够被继承的类——密封类

C#:sealed

Java:final

6.抽象函数

没有函数体——函数功能没有被实现

结论:抽象函数必须在抽象类内,但抽象类可以有抽象函数和普通函数

abstract class A

//class A

{

public void display() { Console.WriteLine("A show()"); }

public abstract void show();

public static void ClassName() { }

}

sealed class B : A {

public override void show()

{

Console.WriteLine("B show()");

}

}

class Program

{

static void Main(string[] args)

{

//A a = new A();//实例化

B b = new B();

b.show();

Console.ReadKey();

}

}

C#知识的更多相关文章

  1. 你必须知道的EF知识和经验

    注意:以下内容如果没有特别申明,默认使用的EF6.0版本,code first模式. 推荐MiniProfiler插件 工欲善其事,必先利其器. 我们使用EF和在很大程度提高了开发速度,不过随之带来的 ...

  2. MySQL高级知识- MySQL的架构介绍

    [TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...

  3. 学点HTTP知识

    不学无术 又一次感觉到不学无术,被人一问Http知识尽然一点也没答上来,丢人丢到家了啊.平时也看许多的技术文章,为什么到了关键时刻就答不上来呢? 确实发现一个问题,光看是没有用的,需要实践.看别人说的 ...

  4. java中的字符串相关知识整理

    字符串为什么这么重要 写了多年java的开发应该对String不陌生,但是我却越发觉得它陌生.每学一门编程语言就会与字符串这个关键词打不少交道.看来它真的很重要. 字符串就是一系列的字符组合的串,如果 ...

  5. [C#] C# 知识回顾 - 你真的懂异常(Exception)吗?

    你真的懂异常(Exception)吗? 目录 异常介绍 异常的特点 怎样使用异常 处理异常的 try-catch-finally 捕获异常的 Catch 块 释放资源的 Finally 块 一.异常介 ...

  6. [C#] C# 知识回顾 - 学会处理异常

    学会处理异常 你可以使用 try 块来对你觉得可能会出现异常的代码进行分区. 其中,与之关联的 catch 块可用于处理任何异常情况. 一个包含代码的 finally 块,无论 try 块中是否在运行 ...

  7. [C#] C# 知识回顾 - 学会使用异常

    学会使用异常 在 C# 中,程序中在运行时出现的错误,会不断在程序中进行传播,这种机制称为“异常”. 异常通常由错误的代码引发,并由能够更正错误的代码进行 catch. 异常可由 .NET 的 CLR ...

  8. [C#] C# 知识回顾 - 异常介绍

    异常介绍 我们平时在写程序时,无意中(或技术不够),而导致程序运行时出现意外(或异常),对于这个问题, C# 有专门的异常处理程序. 异常处理所涉及到的关键字有 try.catch 和 finally ...

  9. [.NET] C# 知识回顾 - Event 事件

    C# 知识回顾 - Event 事件 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6060297.html 序 昨天,通过<C# 知识回顾 - ...

  10. [.NET] C# 知识回顾 - 事件入门

    C# 知识回顾 - 事件入门 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6057301.html 序 之前通过<C# 知识回顾 - 委托 de ...

随机推荐

  1. MFC 无边框窗体实现用鼠标拖动窗体边缘实现窗体大小变化

    无边框窗体如何实现用鼠标拖动窗体边缘实现窗体大小变动呢?下面介绍一种方法,通过以下几个步骤即可实现: 1.实现WM_NCHITTEST消息,实现四条边框的模拟 2.实现WM_NCLBUTTONDOWN ...

  2. Java中的内存处理机制和final、static、final static总结

    Java中的内存处理机制和final.static.final static总结   装载自:http://blog.csdn.net/wqthaha/article/details/20923579 ...

  3. javascript -- js正则表达式

    正则表达式可以:  1.测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证 2.替换文本.可以在文档中使用一个正则 ...

  4. html -- <meta name="viewport"/>

    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scal ...

  5. hoj Counting the algorithms

    贪心加树状数组 给出的数据可能出现两种情况,包括与不包括,但我们从右向左删就能避免这个问题. #include<stdio.h> #include<string.h> #inc ...

  6. jQuery使用cookie与json简单实现购物车功能

    本文实例讲述了jQuery使用cookie与json简单实现购物车的方法.分享给大家供大家参考,具体如下: 1.生成一个cookie 用来存储商品的id  String类型 2.添加商品id的时候 把 ...

  7. DeDeCMS织梦的采集教程

    http://www.tuicool.com/articles/VziaEz    dede 第一步.我们打开织梦后台点击采集——采集节点管理——增加新节点 第二步.新增节点-配置网址索引 填写要采集 ...

  8. JAVA语言基础内部测试题(50道选择题)

    JAVA语言基础内部测试题 选择题(针对以下题目,请选择最符合题目要求的答案,针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分.)(每题2分) 没有注明选择几项 ...

  9. 2014年王道论坛研究生机试练习赛(二)set 2 货币问题

    题目描述: 已知有面值为1元,2元,5元,10元,20元,50元,100元的货币若干(可认为无穷多),需支付价格为x的物品,并需要恰好支付,即没有找零产生.求,至少需要几张货币才能完成支付.如,若支付 ...

  10. CentOS安装最新版的火狐

    1. 下载最新版的火狐 Firefox-latest.tar.bz2 2.yum -y remove firefox 3.rm -rf /usr/lib/firefox      ##64位的机器为l ...