C#基础(二)

本文介绍了类的概念、属性定义的不同方式,包括私有、公共和内部访问级别,以及构造函数的作用。后续内容探讨了继承、重写、重载、虚方法和抽象方法的区别,以及方法的修饰符如public、internal、protected和private。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.类是对现实世界的抽象。把现实世界的事物通过语言中的类来描述

二.类的属性定义方法:

(1)完整的形式 :propfull+table键
1.要有私有的字段
(2)简写: prop+table键
(3)直接公开一个字段
(4)1.public是修饰符,公开的表示类在所在地方都可以访问
2.internal,内部的表示类在当前项目中可以访问
3.类不能是私有的,私有保护的,保护的,保护内部的(private\private protected\protected\protected internal)。
4. 只有类中的方法,字段,事件等成员可以是私有的,还可以是保护的
5. 类的种类修饰符:abstract, static, sealed

三.构造函数:

快捷键:ctor+table键 默认生成一个和类名相同的构造函数
特点: 1.公开的
2.没有返回值
3.和类同名

四.继承(单继承)

子类继承父类的属性,方法,事件,索引器等
继承的语法:子类:父类
父类:基类
子类:派生类
继承父类的属性,方法等以后,如果子类拥有一些父类没有的成员,我们称为对子类的拓展。
当子类想拥有父类同名的方法,需要重写方法(重写方法对父类的方法有要求)。
当子类继承抽象类时,必须实现父类里的抽象方法。
继承的虚方法可以不重写,抽象方法必须重写

五.重写和重载

两者都是多态的表现
(1)重写
1.当方法是虚方法(virtual),抽象方法(abstract),已经重写的方法(override)时才可以重写。
2.重写方法快捷键:override+空格(选择要重写的方法)
3.发生在子类中
4.重写的方法名称必须和继承的方法名称相同
5.参数列表必须相同
(2)重载
1.重载可以发生在子类和父类中
2.方法名称必须相同
3.不需要关键字,不向重写需要override关键字。

关键字:new
隐藏以后不再执行父类里的业务逻辑,可以隐藏普通的方法。范围比override广,不可以隐藏抽象方法。
public new void F3();{ }

六.虚方法和抽象方法

1.两者都可以别重写方法
2.抽象方法只可以在抽象类中实现。用abstract关键字定义。
3.抽象方法不能实现(不能有函数体),无法实例化。
4.抽象方法是虚方法里的一种特殊情况。
(1)虚方法
使用virtual修饰的方法,称为虚方法。
虚方法是一种允许派生类(子类)覆盖(重写)基类(父类)中的方法的技术。
虚方法必须实现。
virtual关键字不仅用于修改方法、还可以修改属性、索引器或事件声明,并使它们可以在派生类中被重写。
虚方法不能是私有。
(2)抽象方法
使用abstract修饰的方法,称为抽象方法。
抽象方法是隐含的虚方法,所以抽象方法可以被重写。****
抽象方法只能存在于抽象类中。
抽象方法不能实现。
抽象方法不能是私有。

七.方法的修饰符

1.public:公开的,任何地方都可以调用
public viod Fun1(){ }
2.internal:内部的,当前项目中可以调用。
internal void Fun2() { }
3. protected:当前类以及子类中可以访问。
protected void Fun3() { }
4.private: 当前类中可以访问。
private void Fun4() { }
5. protected internal:
在项目内部能使用,且当前类及当前类的子类中可以使用;
在项目外部要想能使用,且当前类或者当前类的子类中可以使用。
了解一下,不常用
protected internal void Fun5() { }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值