zoukankan      html  css  js  c++  java
  • C#复习一( Twenty Days)

      今天开始将要复习最近所学的一些C#知识。下面就来总结一下今天所复习的内容,以此来巩固我对C#知识的掌握。今天主要以举几个程序为例。

    首先还是要注意代码的规范:

    –注释//,/**/,///
    –骆驼命名 :第一个单词首字母小写,之后的单词首字母大写 userName、userPassword、realName…(普通变量(局部变量)、字段)
    –帕斯卡命名:第一个单词首字母大写,之后的单词首字母大写 GetMax()、ChangeName()…(方法名、类名、属性名)
    –定义的变量或者方法 名字要有意义。
    方法名:动词。Write()、Open()、Close()、Dispose()、GetUserId()、…(方法都是要做一件事情)
    变量名:按功能命名、按方法的返回值内容命名(userName=GetUserName();)
    面向对象三大特性:封装、继承、多态
    •1.属性封装了字段、
    2.方法的多个参数封装成了一个对象、
    3.将一堆代码封装到了一个方法中、
    4.将一些功能封装到了几个类中、
    5.将一些具有相同功能的代码封装到了一个程序集中(dll、exe)。 将一堆程序封装起来到一个程序集当中
    •继承(是指类与类之间的关系。)
    •类组成:字段、属性、方法、构造函数等
    •LSP里氏替换原则、多态。类的单根继承性、传递性、继承时构造函数的问题(:this() , :base())。构造函数不能被继承。
    •所有的类都直接或间接的继承自object。
    多态的作用:把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化
    虚方法和抽象方法
    •关于虚方法需要注意的几点:
    •1.父类中如果有方法需要让子类重写,则可以将该方法标记为virtual
    •2.虚方法在父类中必须有实现,哪怕是空实现。
    •3.虚方法子类可以重写(override),也可以不重写
    •关于抽象方法注意的几点:
    •1.需要用abstract关键字标记
    •2.抽象方法不能有任何方法实现。
    •3.抽象成员必须包含在抽象类中。
    •4.由于抽象成员没有任何实现,所以子类必须将抽象成员重写。
    •5.抽象类不能实例化,
    •抽象类的作用:抽象类的作用就是为了让子类继承。
    •6.抽象类中可以包括抽象成员,可以包括有具体代码的成员。
    •7. 还有抽象方法不能用static修饰

    程序:

    练习1:磁盘上有不同的文件,比如:.txt文本文件、.avi视频文件、.xls电子表格。要求:编写一个控制台程序,用户输入一个带后缀名的文件,将该文件名传递到一个方法中,该方法中根据用户输入的文件名后缀,返回一个对应的文件对象。提示:编写不同的类模拟不同的文件、为不同的文件类创建统一的父类、使用简单工厂实现。

    首先定义一个父类AbFile和三个子类txt,avi,xls;以及一个factory类.

    三个子类的定义方法一样,这里以txt子类为例。

    定义一个类factory

     

    在Program类的Main函数里调用

     

    运行效果:

    计算形状Shape(Circle,矩形Square ,正方形Rectangle)的面积、周长

    首先定义一个父类Shape,三个子类,一个类。

    主要代码:

    定义一个父类(抽象)

    定义子类Square正方形

    定义子类Rectangle(矩形)

    定义子类Circle(圆)

    定义类Factory

    在Main函数里使用("Shape sh=fa.Name(s)",返回的是一个类)

    运行结果:

    好了,今天就先写到这里了。明天在继续吧。加油!

  • 相关阅读:
    2019-2020-2 网络对抗技术 20175217 Exp6 MSF基础应用
    2020_1课程设计—基于BC的证书格式转换工具的设计与实现—第二周进展
    2019-2020-2 网络对抗技术 20175217 Exp5 信息搜集与漏洞扫描
    2019-2020-2 网络对抗技术 20175217 Exp4 恶意代码分析
    2019-2020-2 网络对抗技术 20175205 Exp 9 Web安全基础
    2019-2020-2 网络对抗技术 20175205 Exp8 Web基础
    2019-2020-2 网络对抗技术 20175205 Exp7 网络欺诈防范
    2020_1课程设计—基于BC的证书格式转换工具的设计与实现—个人报告
    2020_1课程设计—基于BC的证书格式转换工具的设计与实现—Week3
    2019-2020-2 网络对抗技术 20175205 Exp6 MSF基础应用
  • 原文地址:https://www.cnblogs.com/ysaw/p/4138560.html
Copyright © 2011-2022 走看看