---------------------- 、、期待与您交流! ----------------------
一:
属性的 快捷键 Ctrl+R+E
类的构造方法;
在我们 写一个类的时候 自动的给我们写了一个构造函数
而 构造函数 是无参数的
构造函数是用来创建 对象的特殊方法
方法名 和类名一样 没有返回值,连void都不用。
在创建对象的时候 就
构造函数的重载
this 指示代词
属性 共有的 任何地方可以调用
字段 私有的 在本类中调用
属性可以控制 只读或者只写 、读写
字段呢?
总结起来 就这么两句话
在get中判断的时候 我写的那个方法中用到的那个参数 是Age(属性)
在set 中判断的时候 我写的那个方法中用到的那个参数 是_age(字段)
出来 out
进去 出来 ref
字符串 处理
string 和String 前面的是 字符串 (数据类型) 后面的是类
但是看起来 没什么区别
转换数组的 一个方法
转换 小写的一个方法
转换 大写 的一个方法
转换字符串的一个方法
又是一个方法
这又是一个方法
只要通过.(点) 就可以调用很多很多的方法啦
一点就通 哪里不会点哪里 so easy
F1 更神奇 哪里不会 按哪里
二:
类是不是可以继承
Person
Student
Teacher
三个类
因为学生和老师 他们 都是人
所以 抽象 出来了一个 “人”类
然后呢 我让 学生和老师 都继承 了Person
需要怎么做呢 ? 在 Student后面加上一个冒号:Perosn
在Person中可以有构造函数
子类中也可以有构造函数
既然 都能构造函数
那我 可不可以 也 调用一下 父类中的 构造函数呢
第一 如果子类继承父类
是不是可以自动的用到了 父类的字段 或者说属性
通过一个有参的构造函数再用一个关键字base ()把参数传过去了
子类 就能用到父类的构造函数 然后间接的 给父类的字段赋值了
里氏替换
is 的语法:
布尔类型 变量 = 子类对象 is 父类
如果布尔类型的变量为true 转换成功了
如果为false 就是不能转换 没成功
is的用法
:
对象或者是实例 is 类型名
这个表达式可以返回一个bool值,表示是否可以转化
判断父类能否转化为子类的时候常常使用
父类要想转成子类 要强制转换 和之前的 in t和double 之间转换很像
as 语法:
类型名 变量名 = 某个对象或实例 as 类型名;
类可以进行转换
隐式转换 显示转换(强制转换)
有的时候转换可能会 出问题
可以通过 is 或者as 进行 判断转换
这样 就 不会报错了
三:
里氏转换
Person p1=new Person();
Strudent stu=new Student();
Person p2=stu;
Student stu2=(Student)p1;
隐式转换 强制转换
is 或者 as 判断 两者的区别 先判断再转换
Hashtable
同样的 也可以添加 和 删除
hsb.Contains("234");
hsb.ContainsKey(123);
两种方法 都是 找里面的键 存不存在 没什么不一样的 只是方便而已
就是查找这个 hashtable 里面 有没有这个键
因为 Hashtable
的add()方法里 的参数是obj类型
那如果我想 把里面的内容 读出来的时候 是不是涉及到了 里氏转换
foreach 语法: 的用法
foreach(要循环访问的集合中对象的类型 表示集合中的元素的标识符 in 要循环访问的集合或数组的名称)
{
}
循环的过程
-> 总是从开始,一直循环到结束,中间不会停下来,除了break
临时变量的类型
-> 设断点查看
-> 使用var判断
1、泛型集合
就是为了专门处理某种类型
ArrayList对应的是List<类型名>
-> 在尖括号中写什么类型,这个集合就变成了什么类型的集合
-> 添加数据、插入数据、索引访问数据都是这个类型的,不用考虑所有的转化问题
Hashtable对应的是Dictionary<键的类型, 值的类型>
-> 在尖括号中填入键的类型与值的类型,那么这个集合就变成了一个指定的键值对模型
-> 其使用方式与Hashtable一样
2、Hashtable
ArrayList为什么要有ArrayList
-> 因为数组的长度问题
-> 提供很多方法
泛型集合
List<T>集合与Arrayist的区别是什么?
-> 类型可以自定义
Hashtable集合,为什么要有这个集合
-> 查找
-> 想要查找,就得有一个对应关系
-> 就是通过键值来提供
-> 就需要将键与值用一种办法绑定到一起
-> Add(键, 值)
-> 访问键的时候,可以直接找到值
-> 用什么方法,通过键访问到值
-> hashtable[键] 返回一个值
-> 但是hashtable中都是object类型,因此使用时要考虑强传
泛型集合
Dictionary<TKey, TValue>集合与Hashtable的区别
还是类型问题
泛型类型
List<类型名>
用int做示例
1、创建:
List<int> intList = new List<int>();
2、加数据
intList.Add(int类型的数据);
intList.AddRange(int类型的数组与集合);
3、插入数据
intList.Insert(位子索引, 要插入的数据);
4、移除
intList.Remove(要删除的数据);
intList.RemoveAt(要删除的索引);
5、清空
intList.Clear();
6、如何获得集合的长度
intList.Count
7、怎么访问某一个数据
intList[index];
8、如果想要修改索引为8的数据
intList[8] = 80;
>---------------------- 、、期待与您交流! ---------------------- 详细请查看: