C#之入门总结_继承_06
来源:互联网 发布:阿里云 协会 备案 编辑:程序博客网 时间:2024/06/08 18:18
继承就是对类的接受,接受其方法,属性.
在现实生活中,继承一般指的是子女继承父辈的财产。在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系。例如猫和狗都属于动物,在程序中便可认为猫和狗继承自动物,同理波斯猫和巴厘猫继承自猫,而沙皮狗和斑点狗继承自狗,这些动物之间会形成一个继承体系,具体如图
prop +Tab*2 生成自动属性
ctor+Tab*2 快速生成构造方法
//property自动属性
//包含字段和属性
//在不做任何检验的时候可以使用自动属性使用自动属性可以不写字段
publicint Name {get; set; }
string.Contains(str)系统定义的查找在一个字符串中是否包含某个字符串的方法
自定义的查找在一个字符串中是否包含某个字符串的方法
staticbool IsConctains(string targetStr,string sourceStr)
{
//判断目标字符串与原字符串的长度关系
//如果原字符串比目标字符串小那么没有比较的必要
if (targetStr.Length<sourceStr.Length)
{
returnfalse;
}
//根据观察都得出 原字符串 - 目标字符串 + 1就是比较的次数
for (int i = 0; i <targetStr.Length-sourceStr.Length+1; i++)
{
//遍历目标字符串
for (int j = 0; j < sourceStr.Length; j++)
{
//目标字符串的j个和原字符串的第 i+j的比较
if (sourceStr[j] != targetStr[i+j])
{
continue;
}
//因为目标字符串大于1所以次数减1就不用比较最后一个字符了
if (j==sourceStr.Length-1)
{
returntrue;
}
}
}
进入程序
调用类
先走本类的构造方法
想回查找父类的空参构造方法 或者 其他构造方法
在实际开发过程中,某些方法的参数类型为引用类型,但是如果调用时传入的是值类型,此时需要进行装箱操作。同样当一个方法的返回值类型为值类型,但实际方法返回值为引用类型,那么就需要进行拆箱操作。简单来说,装箱就是将值类型转换为引用类型,拆箱就是将引用类型转换为值类型
class Program04
{
static void Main(string[] args)
{
int num = 100;
//将int类型变量num赋值给object的变量obj,发生装箱操作
object obj = num;
Console.WriteLine("obj对象的值为{0}", obj);
//将object类型的对象obj赋值给int类型的变量num,发生拆箱操作
num = (int)obj;
Console.WriteLine("num的值为{0}", num);
Console.ReadKey();
}
}
装箱和拆箱过程本质上是数据存储在栈与堆之间变更,因此频繁的装箱、拆箱操作会影响运算效率,所以要尽量减少相关操作。
//is as关键字
//is不会讲对象直接进行转化 会在转化之前 进行一次判断 如果类型匹配则返回true 类型不匹配 则返回false 然后需要根据返回值进行适当操作
//bool ret = animals[i] is Dog;
//if (ret)
//{
// ((Dog)animals[i]).Bark();
//}
//else
//{
// ((Cat)animals[i]).Bark();
//}
//as
//as 可以将animals[i]直接转化 转化成功 返回一个Dog实例 否则返回null
Dog dog = animals[i] as Dog;
if (dog !=null)
{
dog.Bark();
}
Cat cat = animals[i] as Cat;
if (cat != null)
{
cat.Bark();
}
- C#之入门总结_继承_06
- C#之入门总结_多态_07
- C#之入门总结_字符串_09
- C#之入门总结_集合_10
- C#之入门总结_ 异常_11
- C#之入门总结_文件_1_13
- C#之入门总结_文件_2_13
- C#之入门总结_反射_15
- C#之入门总结_委托_16
- C#之入门总结_接口_19
- C#编程入门_面向对象之继承_10
- C#编程入门10_面向对象之继承
- C#之入门总结_ 分支语句_02
- C#之入门总结_循环及打印图形_03
- C#之入门总结_数组及方法_04
- C#之入门总结_类,对象_05
- C#之入门总结_对象补充_08
- C#之入门总结_进程,线程_14
- pat 1068. 万绿丛中一点红易错点解析
- laravel 验证码刷新
- * 24种设计模式——享元模式
- HDU
- vue-loader学习笔记
- C#之入门总结_继承_06
- 看Uber产品总监的职场达人修炼之路(上)
- 运lucky
- 【Codeforces-723D】Lake in Berland
- vmare xcode 占用大量内存清除方法
- nginx配置https或wss服务
- Linux Fedora设置启动级别
- 你设计的界面要让用户信赖
- 乐观锁与悲观锁的实现