zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    java中a++和++a的区别详解
    Oracle 对比两张表不一样 的数据
    通配符的匹配很全面, 但无法找到元素 'tx:annotation-driven' 的声明
    Java语言基础-运算符
    java中+=详解 a+=b和a=a+b的区别
    java语言基础-变量
    java语言基础-进制
    Spring整合CXF发布及调用WebService
    Oracle Job定时任务的使用详解
    MySQL的主从配置
  • 原文地址:https://www.cnblogs.com/ningyongbin/p/5922222.html
Copyright © 2011-2022 走看看