黑马程序员——.NET笔记9 面向对象(第二季教程)

本文提供ASP.NET、Android、iOS开发与.NET培训内容的回顾与总结,涉及面向对象三特性、访问级别、继承、异常处理、静态成员、命名空间和索引器等核心概念。

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

---------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! ----------------------

内容跟第一季内容差不多,当成复习回顾一遍吧。


概念

类---实例化-->对象     对象---抽象-->类

面向对象三特性:封装、继承、多态。

继承。父类、基类。子类。重用。


访问级别   访问修饰符  

控制可访问范围,达到 封装 目的。

永远不要把字段public

属性 用于保护字段


继承

子类继承父类全部成员

声明子类对象 不可指向父类对象(错误:父类 p;   子类 a = p;)

强制类型转换(父类 p = new 子类();  子类 a = (子类)p; )(错误:父类 p = new 子类2();  子类 a = (子类)p; )

Object是一切类的基类。


异常处理

try{}内出现异常,异常语句后直至“}”的语句不再执行,转而执行catch{},及之后的语句

catch()参数             catch (Exception ex)    {  Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); }

throw new Exception("自定义异常提示消息")


静态成员 static

非静态成员要求对象引用

静态成员可以直接用类名调用,不需创建(new)对象

public静态成员 全局变量

静态成员可以调用静态成员,不可调用非静态成员(因需对象引用)

非静态方法可以调用静态成员和非静态成员

静态类  不能被实例化(new),一般用来实现一些数据库 ***Helper


命名空间

using 加入命名空间,即可直接使用其它命名空间的成员


索引器

这是第一季没讲过的新内容,感觉似乎会很实用,不过现在也想不到能用在哪里,老师也没具体讲,先记下来用法。

使用索引器可以用类似于数组的方式为对象建立索引。

this 关键字用于定义索引器。

    class Program
    {
        static void Main(string[] args)
        {
            Person p = new Person();
            p["姓"] = "李";
            p["名"] = "四四";
            Console.WriteLine("姓名是:{0}", p.FullName );

            Console.ReadKey();
        }
    }
    class Person
	{
        private string FirstName = "张";
        private string SecondName = "三三";
        public string FullName
        {
            get { return FirstName + SecondName; }
        }

        public string this[string index]
        {
            set 
            {
                if (index=="姓")
                {
                    FirstName = value;
                }
                else if (index=="名")
                {
                    SecondName = value;
                }
                else
                {
                    throw new Exception("序号错误");
                }
            
            }
            get
            {
                if (index == "姓")
                {
                    return FirstName ;
                }
                else if (index == "名")
                {
                    return SecondName ;
                }
                else
                {
                    throw new Exception("序号错误");
                }
            }
        }
	}

索引器不必根据整数值进行索引,参数可以是任何类型,或以有多个参数。

索引器可被重载。





---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

详细请查看:http://edu.youkuaiyun.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值