`
varsoft
  • 浏览: 2508936 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

C#学习笔记(三)

阅读更多

C#学习笔记(三)
by heiyeluren


学习《Visual C#入门经典》学习笔记

1. 类的定义和继承

定义一个类使用class关键字:
class Class1
{
// members
}

默认定义的类是只能本工程中的其他类和函数才能访问的,我们也可以使用显式的方式定义我们的类是私有的:
internal class Class1
{
// members
}

加入我们要让别的工程也能够访问我们的类,我们就定义成公共的,别的工程也能访问了:
public class Class1
{
// members
}

同时我们也能定义类为抽象类,只能继承,不能实例化:
public abstract class Class1
{
// members
}

我们也能够定义类只能实例化,不能继承:

public sealed class Class1
{
// members
}

一个类继承抽象类,那么所有抽象类的成员都将继承,另外,相应的访问方式必须是符合规则的,一个公共的基类,派生类能够是公共的,也

可以是私有的,一下定义合法:
public class MyBase
{
// members
}

internal class MyClass : MyBase
{
// members
}

但是如果是个私有的基类,那么派生类就只能是私有的,一下定义是非法的:
internal class MyBase
{
// members
}

public class MyClass : MyBase
{
// members
}

如果没有任何基类,那么是继承的就是基类System.Object,它在C#中是很核心的基类,基本上我们所有基类的根类就是它,。

同时我们的也能够继承接口,对接口的成员进行实现:
public class MyClass : IMyInterface
{
// members
}

如果一个类继承的是接口的成员,那么所有接口的成员,都必须在类中进行实现,如果不想给接口的成员进行实现,可以使用“空”,就是函

数没有任何代码。

如果我们要同时继承基类和接口,那么基类就必须在接口前面,一下定义是非法的:
public class MyClass : IMyInterface, MyBase
{
// members
}

正确的指定接口和基类的方法如下:
public class MyClass : MyBase, IMyInterface
{
// members
}

当然,我们也能够同时指定多个接口:
public class MyClass : MyBase , IMyInterface, IMySecondInterface
{
// members
}

2. 接口的定义和继承

声明一个接口,跟声明一个类差不多吧,使用interface为关键字:

interface IMyInterface
{
// interface members
}

同样接口也有私有和公共访问的方式:

public interface IMyInterface
{
// interface members
}

但是abstract和sealed不能用,因为接口本来就是用来继承的,但是无法实例化。

接口同样也能继承,而且接口不象类,只有一个基类,接口继承可以有多个接口:

public interface IMyInterface : IMyBaseInterface, IMyBaseInterface2
{
// interface members
}

接口继承和System.Object的方式比较类似,就是通过接口的多台性来确定使用那个接口,接口不能实例化。


3. 类和接口的实现例子

// 定义命名空间
namespace TestApp
{
// 定义一个抽象的基类
public abstract class MyBase
{
}

// 继承抽象基类
internal class MyClass : MyBase
{
}

// 定义接口1
public interface IMyBaseInterface
{
}

// 定义接口2
internal interface IMyBaseInterface2
{
}

// 同时继承接口1和接口2
internal interface IMyBaseface: IMyBaseInterface, IMyBaseInterface2
{
}

// 继承基类和接口1
internal sealed class MyComplexClass : MyClass, IMyInterface
{
}

// 定义可以执行的类
class Class1
{
// 静态的Mian方法,一般就是应用程序的入口
static void Main(string[] args)
{
MyComplexClass myObj = new MyComplexClass();
Console.WriteLine(myObj.ToString());
}
}
}


基本上了解的就这么多了,呵呵~~~~下次再聊点别的!!

WriteTime: 2004-12-29 21:00

分享到:
评论

相关推荐

    Learning hard C# 学习笔记

    Learning hard C# 学习笔记

    LearningHard C#学习笔记

    LearningHard C#学习笔记,学习C#的经典入门教材。 非常适合初学者,希望大家一起努力。

    Visual C#学习笔记光盘

    Visual C#学习笔记光盘 简介:本书由浅入深地讲解Visual C# 2005编程知识,全书内容分为6篇,共27章,第一篇介绍Visual Studio 2005开发环境和C#基础,其中包括Visual C# 2005简介,C#语言基础,面向对象编程...

    《c#6.0学习笔记》随书光盘及源代码及pdf

    《c#6.0学习笔记》随书光盘及pdf和源代码,这三部分内容都在这一个资源里面,视频教程很难找,在网上找了很久很久,和大家分享一下。

    C#学习笔记(非常经典)

    C#学习笔记因其经典性和实用性而受到许多程序员的推崇,是初学者入门和进阶的重要参考资料。 在C#的学习过程中,首先需要理解其基本语法结构,包括变量定义、数据类型(如int、string、bool等)、控制流(如if语句...

    经典、简单C#学习笔记

    综上所述,"经典、简单C#学习笔记"涵盖了C#语言从基础到进阶的全面内容,适合初学者入门,也对有一定经验的开发者有参考价值。通过深入理解和实践这些知识点,你将能够熟练掌握C#,并在各种应用场景中游刃有余。

    Visual c#学习笔记

    《Visual C#学习笔记》是一本深入探讨C#编程语言及其在ASP.NET框架下应用的专业教程。这本书旨在为想要掌握C#和ASP.NET技术的读者提供详尽的指导,无论你是初学者还是有一定开发经验的程序员,都能从中受益匪浅。 ...

    C#学习笔记

    以下是对C#学习笔记的详细解读: 1. **基础语法**:C#的基础包括变量、数据类型(如整型、浮点型、布尔型、字符串等)、运算符(算术、比较、逻辑、赋值等)和控制结构(如条件语句、循环语句、switch语句)。初学...

    C#学习笔记_20100614.pdf

    根据提供的信息,我们可以总结出以下相关的C#知识点: ### C#中关键字的小提示 C#是一种严格的关键字敏感的语言,这意味着不能将关键字用作变量名或其他标识符的名称。但是,如果你确实需要这样做,比如当你从另一...

    C#6.0学习笔记 从第一行C#代码到第一个项目设计周家安著

    《C# 6.0学习笔记:从第一行C#代码到第一个项目设计》是由周家安编著的一本深入浅出的C#编程教程。这本书主要针对C#初学者和有一定基础的开发者,旨在帮助读者全面理解C# 6.0版本的新特性和编程技巧,并通过实际项目...

    C#学习笔记(超有价值的)

    本压缩包包含的"C#学习笔记"是一份宝贵的资源,适合初学者和有一定基础的开发者,帮助他们深入理解C#语言的核心概念和实践技巧。 笔记首先可能会介绍C#的基础语法,这是任何编程语言学习的起点。这包括变量定义、...

    C#使用手册+C#学习笔记+C#基础教程

    这份压缩包包含了三个核心文档:《C#基础教程-c_实例教程.doc》、《C#使用手册.doc》和《C#学习笔记.doc》,它们将帮助读者全面理解C#语言的基础知识,并通过实例和实践加深理解。 1. **C#基础教程-c_实例教程.doc*...

    C#学习笔记powerpoint版

    **C#学习笔记PowerPoint版概述** 这是一份基于PowerPoint制作的C#学习笔记,适合初学者系统地了解和掌握C#编程语言的基础知识。虽然没有具体的描述,但我们可以推测这份笔记是作者在学习过程中整理的心得体会,旨在...

    C#学习笔记.docx

    - **标题**:“C#学习笔记.docx” - 该文档主要记录了作者在学习C#过程中所做的笔记。 #### 描述解析 - **描述**:“学习时自己做的笔记,方便自己学习也分享给大家,做好笔记对于学习是有很大的帮助,在研究的...

    C#学习笔记(基础篇)

    以上只是C#学习笔记的基础部分,实际学习过程中还会涉及更多高级特性,如匿名方法、Lambda表达式、异步编程(async/await)、匿名类型、动态类型等。通过不断实践和学习,你可以逐步掌握C#,并运用到实际项目开发中...

Global site tag (gtag.js) - Google Analytics