C#知识

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:JeanSolutionConsoleApplication6Program.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();
}
}

热爱每一天
原文地址:https://www.cnblogs.com/blueblog6/p/9872405.html