C#面向对象OOP之一

一.类(class)

1.OOP(Object Oriented Programming


2.类要以class为开始,后接大括号{  }


3.类包含方法、变量、对象。


4.一个类里,可以有多个对象和多个方法。



二.对象(object)

1.对象是类的一个实例,用来存取和使用类中的方法和变量。


2.创建一个类的对象,例如

class ShanuHouseClass

{

int ...

public ...


static void Main (string [ ] args)

{

ShanuHouseClass objHouseOwner = new ShanuHouseClass();

...

}



三.变量(variable)

1.语法

(private) / public + 变量类型 + 名称

默认情况是private



四.方法(method)

1.语法

private / public / internal / protected / protected internal + 返回值类型 + 方法名(参数列表parameter list)



五.封装

1.封装就是对外部class隐藏成员或变量

封装这个功能是由访问修饰符 (access modifiers) 实现的


2.常用的访问修饰符有

private、public、internal、protected、protected internal


3.public

类和类之间可以互相访问


4.private

只有和private在同一个类中的才可以访问这个private,不在同一个类中的就不可以访问,除非以下两种方法

①在含有private的类中,用一个public的方法去调用这个private变量或private方法,然后在另一个类中调用这个类中的public方法

②在含有private的类中,声明另一个public变量,使用其属性,在另一个class中调用这个public变量

例如

    class program
    {
        static void Main(string[] args)
        {
            Person person = new Person();
            Console.WriteLine(person.GetAge());
            Console.ReadLine();
        }
    }
    class Person
    {
        private int age;
        public int Age
        {
            get { return age; }
            set { age = value; }
        }

        public int GetAge()
        {
            return age;
        }
    }


下面例子是不可以调用private

    public class baseClass
    {
         private void privateMethod()
         {
             Console.WriteLine("private Method");
         }
         public void publicMethod()
         {
             Console.WriteLine("This Method Shared");
         }
     }

     public class DerivedClass : baseClass
     {
         static void Main(string[] args)
        {
             DerivedClass obj = new DerivedClass();
             obj.publicMethod();
             //obj.privateMethod(); //This will be error as private method can not be accessed in Derived Class
         }
     }


5.internal

在同一个程序集(assembly)中可见

程序集即一个project生成的.exe可执行文件和.dll库文件,也就是说,在一个project中可以创建很多namespace,但是只要是在一个project中,那么internal变量就是可见的


6.protected

在自己的class或继承于自己的class的class中可见


7.internal protected

同时具有internal和protected的特性




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值