C#面向对象(一) 封装

一、什么叫做面向对象封装?

封装的概念:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。

二、面向对象封装有什么好处(为什么要封装)?

封装的目的:是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员。

三、如何使用面向对象封装?

1、属性器    2、实例与静态方法   3、构造函数    4、重载   5、访问修饰符

 

1、常用访问修饰符的介绍

(1) public            该类的实例可以被任何其他类访问

(2) private          嵌套类,只能在定义它的类中使用

(3) protected      嵌套类,只能从定义它的类中和自此派生的类中使用

(4) internal         该类只能从同一个程序集的其他类中访问。这是嵌套类的默认访问方式。

2、属性器的定义和构造函数的定义

下面定义一个Person类!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    public class Person
    {
        private string _name;
        private int _age;
        private string _sex;

        public string Name
        {
            get { return _name; }   //只读属性
        }

        public int Age
        {
            get { return _age; }
            set { _age = value; }    //可读可写
        }

        public string Sex
        {
            get { return _sex; }
            set { _sex = value; }   //可读可写
        }

        //1、类的构造函数

        public Person()    //不带参数的构造函数
        {

        }


        public Person(int Age, string Sex) //带参数的构造函数
        {
            this._age = Age;
            this._sex = Sex;             //this就是该类的实例化
        }

        public static string SayHi()   //2、静态方法
        {
            return "大家好";
        }
        public static string SayHi(string Name)   //3、重载
        {
            return Name + "大家好";
        }
        public string SayGoodBye()    //实例方法
        {
            return "再见";
        }


    }
}

 

类的属性器,方法,构造函数的使用。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Person p = new Person(16,""); //带参数的构造函数的使用

            p.Sex=""; // 属性器的使用

            p.SayGoodBye();//实例方法的使用

            Person.SayHi();//静态方法的使用    

        }
    }
}

实例方法的使用需要实例化,静态方法的使用直接调用类的方法即可!

3、重载 

概念:就是方法名称相同,参数不同的两个以上的方法叫做重载

优点:给类的使用者带来很大的方便!

 

 

 

 

 

 

 

posted @ 2014-01-22 15:27  LiuHuaTao  阅读(2281)  评论(0编辑  收藏  举报