`
sjk2013
  • 浏览: 2191831 次
文章分类
社区版块
存档分类
最新评论

C#语言知识汇总

 
阅读更多

C#基本知识的学习总共用了有不到10天的时间,这段时间内看完了楚广明老师的教程,并初步了解了C#的基本知识,在加上以前专业课中学习过C++和Java语言,所以在学习C#时一些基本概念很容易理解。在看完视频后,对C#的知识进行了一些整理,主要概括为两个大的方面,一是面向对象部分,二是基本构成,该篇博客也会从这两个方面进行论述。

C#全称为C-Sharp,是微软公司开发的一种面向对象的编程语言。由C/C++语言演变而来,同时简化和现代化了C++在类、命名空间、方法重载和异常处理的各领域。C#的功能强大,应用较广泛,能够开发Dos程序、桌面应用程序、Web程序、手机应用程序等,并且开发环境使用方便。

C#知识概况图


一、面向对象

面向对象部分之所以单独把它列数来是因为它是很多编程语言共有的基础,能够为以后其它面向对象的语言学习提供方便。

1、特点

封装、继承、多态与其说是面向对象技术的三大特点,不如说是类的三大特性,因为在面向对象技术中,类是语言的关键,这三大特性都是类所拥有的三大特性。

封装性

封装是将数据或方法、函数等集合在一个单元中,我们将该单元称之为类,对于使用该单元的人来说它只知道单元的一些功能,并不能知道具体的实现方法。被封装的对象通常被称之为抽象数据类型。

①概念

可以把程序按某种规则分成很多“块”,块与块之间可能会有联系,每个块都有一个可变部分和一个稳定的部分。我们需要把可变的部分和稳定的部分分离出来,将稳定的部分暴露给其他块,而将可变的部分隐藏起来,以便随时可以让它修改,这项工作就是封装。如:在用类实现某个功能时,我们会定义类及类的属性和方法,其中类可看作是上面的块,类中的属性值是可变部分,类的方法和属性是稳定的部分。

②意义

保护或者防止代码(数据)被破坏。

私有的数据可以用两种方式来间接的控制。一是传统的读、写方法封装;二是使用属性进行封装。主要有以下好处:

其一: 使用者只需要了解如何通过类的接口使用类,而不用关心类的内部数据结构和数据组织方法;

其二:高内聚,低耦合一直是我们所追求的,用好封装恰恰可以减少耦合;

其三:只要对外接口不改变,可以任意修改内部实现,这个可以很好的应对变化;

其四:类具有了简洁清晰的对外接口,降低了使用者的学习过程。

③两种封装方法

传统的读、写方法封装:

   //有一个类Name,为了操纵这个类中的数据(string name)我们定义了一个读方法和一个写方法。
    public class Name
    {
        private string name;
        // 读方法
        public string GetName()
        {
            return name;
        }
        //写方法
        public void SetName(string n)
        {
            name = n;
        }
        public static void Main(string[] args)
        {
            Name Country = new Name();
            Country.SetName("China");
            Console.WriteLine("The Name is :" + Country.GetName());
        }
}

上面的方法保证了私有成员name不被外部成员所破坏,我们实例化一个对象Country来实现读和写数据。在上面的例子中,我们不能直接访问类Name的实例Country中的私有数据(string name),我们只能通过SetName和GetName两个方法来读和写数据。

用属性来实现封装:

属性是类的基本组成部分,通过对属性的读和写来保护类中的域。使用属性来实现封装比上一种方法更简单。

    public class Name
    {
        private string name;  //需要封装的属性
        public string CountryName
        {
            get{return name;}
            set{name=value;}
        }
    }
    public class Name1
    {
        public static void Main(string[] args)
        {
            Name Country= new Name();
            Country.CountryName = "China";
            Console.WriteLine("The Country is :{0}",Country.CountryName);
        }
    }  

上面的例子通过属性实现了stringname的封装,其中属性具有两种操作get和set。Get用来返回属性域的值;Set通过value这个变量来给属性域赋值。

未完待续!

继承性:

多态性:

2、类

二、基本构成


分享到:
评论

相关推荐

    C# 基础语法.pdf (纯干货)

    C#基础语法,适合刚入门的小白和对C#有一定基础的码友们巩固基础

    Android C# Css Java PHP Python HTML C语言 八大编程语言知识点汇总.zip

    Android C# Css Java PHP Python HTML C语言 八大编程语言知识点汇总: Android各知识点详细总结.pdf C#知识点详细总结.pdf Css知识点归纳总结.pdf C语言各知识点详细总结.pdf HTML知识点汇总.pdf Java各知识点详细...

    C#面试基础知识汇总.doc

    关于C#语言面试的200多题,共67页,适用于面试复习温故而知新,知识全面,为个人总结的各大公司的面试题以及知识点。是本人这段时间面试总结的心血

    windows C#技术资料汇总

    C#技术资料: c#技术, C#知识类库, C# 语言规范.doc,C#函数方法集.txt, CSharp.CHM

    C#完全手册 - 高清晰pdf版

    第一部分 C#语言概述...................................................................................................4 第一章 第一章 第一章 第一章 .NET 编程语言 编程语言 编程语言 编程语言 C# ...........

    Dart语言知识点汇总(讲义)

    Dart语言的语法非常简单,如果过你学习过JAVA或者C#,那么基本可以说没有什么特别的新东西。大地老师讲解的非常详细,但是如果你有语言基础,个人认为没有必要再学习老师的课程,只要看看这个讲义就行了,如果你没有...

    CSView是一个互联网面试知识学习和汇总项目.zip

    软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备...

    【JavaSE】Java 知识汇总(资源,工具,笔记,源码,文章,文档分类整理).zip

    软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备...

    CSView是一个互联网面试知识学习和汇总项目,包括面试高频算法、系统设计.zip

    软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备...

    MVC汇总资料

    MVC及Razor一些基本语法及相关知识 文档汇总

    C#学习笔记——基本语法

    本文给大家详细介绍了C#的基本语法知识以及一些基础知识的汇总,非常的简单基础,有需要的小伙伴可以参考下

    c# 字符串操作总结

    字符串操作在任意编程语言的日常编程中都随处可见,今天来汇总一下 C# 中关于字符串的一些你可能遗忘或遗漏的知识点。 逐字字符串 在普通字符串中,反斜杠字符是转义字符。而在逐字字符串(Verbatim Strings)中,...

    asp.net知识库

    多样式星期名字转换 [Design, C#] .NET关于string转换的一个小Bug Regular Expressions 完整的在.net后台执行javascript脚本集合 ASP.NET 中的正则表达式 常用的匹配正则表达式和实例 经典正则表达式 delegate vs. ...

    node项目汇总.zip

    软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备...

    Python 项目汇总.zip

    软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备...

    C语言在线笔试题汇总,本项目在于帮助在线编程者用已有的代码编译出可以快速通过在线测试的代码。.zip

    软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备...

    Python数据分析实战项目汇总~.zip

    软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备...

Global site tag (gtag.js) - Google Analytics