面向对象 封装

什么是对象?

万物介对象,可以说是一个人,一个物体

对象有三种特性

封装   继承   多态

作用:

重用性性好(就和html里面的css的代码可以多次用到html里面)

可维护性好(哪里的模块有问题  修改哪个模块)

结构清晰 (代码省却了不少代码  调用哪个模块都清楚)

 

 

namespace fengzhuanglianxi1       //命名空间(程序集)   + 空间名称
{
           class Program     //类    +类名
         {

          }

}

访问修饰符

public  公共的  访问权限最高的

interval 默认的,当前程序集下使用--就是在同一个命名空间下使用

private 私有的  只有在类里面使用,出了类不能调用

protected  被保护的

封装

什么是封装?

我个人理解为是把一堆代码(可以是一个方法 可以是类似结构体)打包/封装  一个模块 用来使用。

封装作用?

简便,快捷使用,保护

定义:

public class  类名

{

    private 数据类型  _名称 ;     //成员变量,字段    -------因为private是私有的  保护这个成员变量

    public  数据类型  名称         ------------这里的数据类型不一定和上面的数据类型一致    名称是一样的       意思作为作为  保护   成员变量  和外界  的  中介

    {

    get{  return _名称;  }   ----获取成员变量的值   返回外界

    set{  _名称=value;  }    ----从外界获取的值   放到成员变量

    }

}  

例如:

public class stundet
    {
       private string _Sno;
       public string Sno
       {
           get { return _Sno; }
           set { _Sno = value; }
       }
       private string _Sname;

       public string Sname
       {
           get { return _Sname; }
           set { _Sname = value; }
       }

    }
View Code

调用

先实例化

类名  变量= new 类名();

例如:

static void Main(string[] args)        //写在Main函数里面    同一个命名空间下
        {

            Student a = new Student();
            Console.Write("请输入学号:");
            a.Sno = Console.ReadLine();
            Console.Write("请输入姓名:");
            a.Sname = Console.ReadLine();
        }
View Code

 

方法也是一样

例如:

 public class  Math             //在Math类里面
    {
        public int Jiafa(int a,int b)    // 写用方法
        {
            return a + b;           //方法代码  并返回值
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Math a = new Math();//  实例化
           int ss= a.Jiafa(10,2);// 调用方法
        }
    }
View Code

 

成员变量   限制条件

例如:

 private string _Sno;

        public string Sno
        {
            get { return _Sno; }
            //如果学号为空 显示<暂无>
            set {
                if (value == "")
                    value = "<暂无>";
                _Sno = value;
            }
        }
View Code

 

继承:

public class 子类名:父类类名

{}
一个子类只能有一个父类

子类可以继承全部父类中的public的方法和属性

父类 基类

子类 派生类 超类

--------------------------------------
多态:

子类的多种形态
有了继承才有了多态
virtual 写在访问修饰符之后,让方法变成 虚方法
可以被子类进行重写, override 只能重写函数体

 

posted @ 2017-04-15 23:58  天晴微笑  阅读(96)  评论(0编辑  收藏  举报