• c#笔记(九)——面向对象


    构造方法
                构造方法,是与类名相同,并且无返回值,不加void
                构造方法的主要作用是创建对象并给对象赋初值
                不带有参数的构造方法称为默认构造
                构造方法可以带有参数进行重载, 如果要给对象赋具体的初始值时
                可以在类里面写出带有参数的构造方法并调用
                如果在类里面没有构造方法,当我们创建对象时,系统会自动生成一个默认构造供使用
                如果类里面有带有参数的构造方法,调用默认构造时,必须显示的把默认构造写出来
     
     面向对象三大特性:封装、继承、多态
                 封装
                我们在创建对象时,不希望外部人为的来破坏对象所包含的字段的值,此时就需要把数据封装起来
                具体的做法是:把成员字段用private字段修饰,这样外部就无法拿到字段并修改所存储的数据
                同时把私有的字段改成属性,通过属性来修改字段的值,创建对象并初始化对象时
                可以用带有参数的构造方法给字段赋初始值,把字段写成私有后,虽然在外部不能使用,但是在类的内部可以使用、
                即类内部的方法可以调用类里面的私有字段
                继承
                当一个子类继承父类,会把父类里面的成员继承过来,
                父类里面的成员如果用public修饰,称为共有继承,用private修饰称为私有继承
                公有继承的成员在任何地方都能使用
                私有继承过来的成员只能在分类内部使用,在类的额外面不能使用
                protected继承过来的成员只能在父类和子类里面使用,类的外面不能使用
    //里氏转换
                SmallDog small = new SmallDog();
                BigDog big = new BigDog();
                stu.WalkDog(big);
                stu.WalkDog(small);
                //在处理数据时,为了使所处理的数据,类型达到统一,
                //此时会把数据的类型统一写成父类的类型,这样就可以吧子类的对象直接赋值给父类
                //里氏转换的第一个原则:把子类对象赋值给父类,但是调用类里面的成员时只能调用父类里面的子类里面的调用不到
                Dog dog = small;
                //里氏转换的第二个原则;把父类的对象转成子类,as
                BigDog s =dog as BigDog;
                if (s!=null )
                {
                    s.BigDogBark();
                }
    //把值类型转换成引用类型的过程称为装箱
                object obj = a;
                Console.WriteLine(obj);
                //把引用类型转换成值类型称为拆箱
                int c=(int )obj;
    多态
    virtual override
  • 相关阅读:
    简单的BMCP位图图片压缩算法
    163相册验证码图片的识别手记之二 识别
    认父亲的DbParameter!!
    文件同步精灵(初版)
    163相册验证码图片的识别手记之一 去除干扰
    C#中WebService里的回车符"\r"丢失问题
    PHP 杂谈《重构改善既有代码的设计》之二 对象之间搬移特性
    PHP5计划任务离线功能的原理
    (转)程序员疫苗:代码注入
    window7环境,不安装Oracle,使用PL/SQL Developer结合oracle精简客户端,管理Oracle数据库
  • 原文地址:https://www.cnblogs.com/ningyongbin/p/5922222.html
Copyright © 2020-2023  润新知