C#程序设计的面向对象和界面部分介绍

一、几个基本概念的理解:

C# 是一种强类型、面向对象的编程语言,其语法受到了C++和Java的强烈影响

算法实质:计算机程序的自然语言描述

数据结构:数组、栈、队列、链表、树、图

项目结构:

解决方法(多个项目)——项目(多个自身类文件或引用其他项目类文件)——命名空间(功能模块、类、结构体的划分)——类文件(多个类、结构体、枚举)

变量的使用范围:变量的有效范围仅限于他所在的括号内,并且可以作用与子孙级别,故在类中定义的字段,只能在类中直接使用名称使用

 面向对象语言的特性:封装、继承、多态

封装:为用户提供对象和属性的接口

继承:类派生出的类具有全部派生基础类的属性和行为

多态:派生类具有的除父类属性和方法外各自不同的属性和方法

属性:一般用于对字段的封装,但并非一定要基于字段,可以接受访问与修改,但 不一定都要提供

获取:get,必须return一个和属性类型相符的值,一般是字段

修改:set,一般用于可以对字段赋值,但是也可以不作任何修改,set中使用value

来代表传进来的需要修改的值

private int name;
public int Name
{
    get
    {
        return name;
    }
    set
    {
        name=value;
    }
}

二、C#的程序的基本结构

首先介绍一下C#程序相对于C语言程序的基本结构,也就是面向对象的不同于过程程序的一些地方

主要的介绍放在图片上面了

三、具体的面向对象名词

1面向对象的操作

主要对属性和方法的操作

2类与对象的关系

类:创建对象所依赖的规范

数据成员(字段,常量和变量)+函数成员(方法、属性、构造函数和析构函数)+嵌套类型

类的静态成员

        Get访问器:

                访问、获取属性的值

                需要用return语句来返回

        Set访问器:

                给属性赋值

                Value隐式参数赋值

对象:类的实例化的结果

构造函数:创建对象并进行初始化

        默认构造函数:定义类时的默认函数,不带参数

        有参构造函数:有参数

        静态构造函数:不带任何参数,不能设置访问修饰符,不能访问实例化成员,只执行一次,静态字段和属性

析构函数:释放对象资源,类名前加前缀~来命名、自动调用

权限修饰符:(类public,internal、类的成员变量、成员方法的访问)

方法:(定义类的可执行操作、和类相关联的动作)

实例并且初始化对象,构造函数、析构函数、具体方法、修饰符

根据所要构造的对象来划分:无参构造函数、有参构造函数

3方法中的四种参数:

值参数 实参与形参之间按值传递,对值类型的形参修饰不改变实参

Ref数 使形参按引用传递,对形参所做任何改变都反映在实参中,传递前要对参数进行赋值

Out参数 参数通过引用传递,传递前可以不对参数进行赋值

Params参数 对多个相同类型的参数进行定义时使用

值类型(每个变量都是独立的纯在,a=b,即把b的值赋值给a)(结构体)

改变其中的任何一个仅仅改变当前的变量的值,不改变其他变量的值

引用类型(不同的变量指向同一个地址)(类、数组)

改变其中的任何一个,则所有指向该地址的变量均发生改变

方法重载:方法名相同、参数数据类型、个数、顺序不相同,相当于重载不同的方法

4继承(类与类之间的关系,继承数据结构)

只支持单重继承,不支持多重继承,一次只允许继承一个类,不能继承多个类

子类的可访问性一定要低于父类的可访问性

构造函数与继承方法

基类定义构造函数与前面相似

派生类,引用基类的构造函数,在定义时使用关键字base传递给基类

成员继承:(字段、属性、方法)、修饰符

派生类可以使用对象.成员的方式直接使用基类中非private的成员

基类和派生类一般不同名,如果同名时,直接使用new共存,用this和base来区分

5多态(派生类对于基类的重写)

virtual需方法+override重写

虚方法突出基类与派生类的不同之处,只适用于普通方法,不适用于构造方法

当要求派生类与基类的方法相同时,无需重写,直接使用基类的方法

重写之后用base关键字还可以对基类中的方法使用

接口的定义

只能定义结构,具备某方法的对象,具有对应的属性

如果基类中包含了同名、同参数、同返回值类型的方法,不需要再次实现

显示使用接口时,实现的额方法只能是private

四、窗体

开发程序步骤:

创建项目、界面设计、设置属性、编写程序代码、保存项目、程序运行

窗体

实质上是一个对象,它创建相当于实例化一个对象

属性:图标、标题、位置、背景等

隐藏窗体标题、控制窗体显示位置、修改窗体大小、设置窗体背景照片、显示窗体、隐藏窗体

窗体的事件:

控件 (涉及到对于控件的一些操作需要进行具体的编程训练实现)

五、总结

总结来说,本文详细介绍了面向对象编程在C#中的实现,包括类的定义、对象的实例化、以及继承和多态的具体应用,同时也涉及了C#特定的编程环境设置和窗体控件的操作。这为理解面向对象编程提供了一个实际和详细的框架,特别是在使用C#语言进行软件开发时的应用。

六、c#语言语法罗列

1. 基本语法结构

  • 命名空间(Namespace):用于组织类,using System; 是最常见的命名空间,包含了基本的类库。
  • 类(Class):定义了数据和方法的模板,是C#程序的基本构建块。
  • 方法(Method):类中定义的函数,用于执行操作。
  • 变量(Variables):用于存储数据,如 int a = 5;
  • 常量(Constants):其值在编译时确定,并且一旦设置不能改变,例如 const double pi = 3.14;
  • 语句(Statements)表达式(Expressions):执行动作和计算值。
  • 注释:单行 // 和多行 /* ... */

2. 数据类型

  • 基本类型int, double, float, bool, char, long, 等。
  • 复合类型string, 数组, 列表等。
  • 自定义类型:通过类(class)和结构(struct)定义。

3. 控制流程语句

  • 条件语句if, else, switch
  • 循环语句for, foreach, while, do-while
  • 跳转语句break, continue, return, goto

4. 错误处理

  • 异常处理:使用 try, catch, finally, throw

5. 方法定义

  • 参数类型:值传递、引用传递(ref 关键字)、输出参数(out 关键字)、参数数组(params 关键字)。

6. 面向对象的特性

  • 封装:使用访问修饰符如 public, private, protected, 和 internal 控制成员访问。
  • 继承:使用 : 符号使一个类继承另一个类。
  • 多态:通过 virtualoverride 关键字实现方法的重写。

7. 接口与抽象类

  • 接口:定义一个完全抽象的模板,仅声明方法和属性,不包含实现。
  • 抽象类:不能被实例化的类,通常用作基类。

8. 枚举和结构

  • 枚举(Enum):为整数类型的变量集定义一个名字,增加代码可读性。
  • 结构(Struct):值类型的数据结构,用于小型数据结构。

9. 属性(Properties)

  • 使用 getset 访问器定义,可控制字段的读写权限。

10. 事件和委托

  • 委托(Delegate):类似于函数指针,用于执行引用方法。
  • 事件(Event):基于委托的一种特殊类型,用于实现事件驱动编程。
  • 31
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值