C#学习笔记 14.01

C#学习笔记 14.01

C#学习笔记 13.01 (学习视频来自bilibili的传智播客赵老师基础教学视频)
断更了啊……

接口

虚方法和抽象类完事了,现在说一说接口……
因为继承具有单根性,所以一个类不能同时继承多个类。但是一个类可以继承多个接口,需要把接口类的各个方法都实现……
从说法上讲,一个类继承一个抽象类之后需要重写其中的抽象方法,继承一个接口之后需要实现接口中的方法。如此一来其实我们并不能省代码,实现的其实是一种对于子类必须实现的方法的限制,从而保证其子类功能的完整性。

所以说接口是一种规范,只要一个类继承了一个接口,就必须实现这个接口的所有成员。我们一般将接口命名为 I 开头 able 结尾,表示一种能力。
接口中不能有字段,因为接口本身就是提供一种规范,所以字段成员并没有意义。

接口可以继承接口,同样具有传递性。

一个类可以在继承了一个类的同时又继承好多个接口,但是一定要把类写在最前面。

接口语法
public interface 接口名称

举个小例子,有这么一堆鸟,鸵鸟,鹦鹉,麻雀,企鹅
他们并不都是有飞的能力,所以这个时候就可以展现出接口是一种能力,谁有这种能力谁继承他。

接口的实现是有两种,显示实现和普通实现,显示实现解决了方法重名的问题,但是本质上讲这两种实现方法都是一样的。

接口因为表示的是一种能力,而且一个类可以继承多个接口,所以不妨每个能力写一个接口,避免出现两个能力写在一个接口,子类却只有一种能力的尴尬情况。

接口中的方法也可以规定返回值和参数,子类的返回值和参数也要一致。(之前有提到过签名,签名是方法名+参数,与返回值没有关系……)

值传递和引用传递

值类型,在赋值的时候传递的时候传递的是值本身,而引用类型在赋值的时候传递的是引用的地址。
之前学的 ref 这个东西,他的作用就是把值传递变成个引用传递。

.Tostring()这玩意谁都可以调用,如果是类或者结构或者数组的话就是返回命名空间,如果是一个单个的变量的话就可以返回个字符串类型的东西……大概这样。。。嗯 你应该能懂。。。

Equals() 这个方法就是一个比较的东西,判断参数调用这个方法的类的某一属性的大小关系。

MD5 加密

将一个字符串加密成一串乱七八糟的东西,这个东西奇特的点是不可逆……
因为明文存储密码到数据库中就不可取了,因为一旦数据库泄露的话,就会造成密码泄露。所以一般数据库中都是加密存储的……

怎么用这个东西呢。。。
MD5 是一个抽象类,但是有两个静态方法,这个静态方法可以像 new 这样创建对象……是不是就很神奇。。。。
所以语法大概是这样
MD5 m = MD5.Create();
byte [] b = System.Text.Encoding.Default.GetBytes(str);
byte [] md5b = m.ComputeHash(b);
string strNew =null;
for (int i = 0; i<md5b.length;i++)
{
strNew += md5b【i】.Tostring(“x2”)
}

这里面是有点意思的还有这个 Tostring 的参数,我们可以百度一下这个,在这里就不赘述了……

再来两个关键字

partial 部分类,一般情况下,不允许在一个命名空间中写两个同名的类,都加上这个关键字就可以了,加了这个东西其实就是把一个类分开写了……用处就是,这样可以多个人一起写一个类,另外Winform中可以用到。。后面再说……
sealed 密封类,一旦被此关键字修饰,则该类不可被继承,但是他自己是可以继承其他类的。

基础的一些语法啥的就告一段落了,开始比较重要的,也是大家学编程的目的所在吧,Winform

winfrom

窗体应用程序是一种智能的客户端技术,C / S
完整的窗体应该是既可以获取数据又可以显示数据的。

winfrom 是通过各种控件来完成用户与数据库互通的

窗体应用程序分层

UI 界面层
后台代码层
后台其实都是一样的,都是各种代码,界面搞成不同的样子。

文件结构介绍

即使是窗体,主入口依旧是 Main 函数,这个东兴西在 Program 这个文档里面。

在这里插入图片描述
在这里插入图片描述

视频中还有一个 From1.resx 是放资源的,但是我这个貌似没有……

Form1.Designer.cs 这个东西……打开之后会发现这个东西是被 partial 修饰的,而 From1.cs 也是 partial修饰的,所以说这两个合起来才是完整的 From1
Form1.Designer.cs 这个里面存的是一些窗体和窗体上控件初始化的一个方法 InitializeComponent() 这个方法在 From1 的构造函数中被调用。
我们左边工具箱中的各个控件其实就是一个个的对象,我们把他们拖到窗体上其实就是一个创建对象的过程
控件的两个重要属性:
name: 这个是后台拿到控件对象的东西,大概可以理解为变量名
Text:这个只是展示在 UI 上的一个 string
立即推 text 可以重复,而 name 不可以

UI 设计中对控件的操作会及时反映到 Designer 中,而 Designer 中的改动也会同步反应到控件属性上。
但是并不建议在 Designer 上面修改代码,因为如果控件一多,代码就很多了,很难搞的……

WinFrom窗体控件

执行过程
先走 mine 函数 ,再走构造函数,调用 Designer 里面的方法,初始化控件。
Designer 这个文件里面我们一般都不操作,因为里面的代码太复杂了。

重要控件属性
Anchor 将控件的四边和窗体四边定距。
BackgroundImage 背景图片 这附近的都是调整背景的
ContextMenuStrip 右击时候调出来的快捷菜单
用这个玩意的时候得先拖进来一个这个控件,设置好之后在这个属性里面绑定一下
Cursor 这个是鼠标悬停该样式
Enable 这个比较有用,表示控件是否可用。
Visible 这个也很重要,只是控件是否可见
WinFrom 这个比较大的缺点的 UI 有点丑
想要样式好看,一般用 WPF 一般用 XAML 这个语言做

然后。。。又丢了一个视频。。。。
这个视频是做记事本的,不过这方面视频好像也比较容易找到,先行略过

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值