面向对象(初级)个人总结 第二部分 封装

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

namespace ConsoleApplication3
{
    public class Class1
    {


        public string name { get; set; }
        public Class1(string a)
        {

            this.name = a;                                                    //类
        
        
        }


    }
}

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

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            Class1 dx = new Class1("11");
            Console.WriteLine(dx.name);                   //调用
         
           
        }
    }
}

  

面向对象 3 部分(封装)

构造方法:
public class dx()
{

public dx(string n,int a)
{

this.name=n;
this.age=a;

}

}

2.重载:
概念:同名不同参
例:
publ dx();
{


}
3.构造方法和普通方法在定义上有区别:
首先构造方法没有返回值,并且名字要与类名保持一致。连 void 都不能有返回
构造方法可以用来完成,成员属性的初始化工作。
每个类至少有一个构造方法,如果没有,系统会提供一个默认的无参构造.
只能在new 创建对象时调用 创建完对象无法调用
而普通方法,就是类的行为举止。表明该做什么事情..等等。

4.封装
4.1 private 字段私有化 public 公开的
4.分为字段和属性 /
字段:一个对象的信息
属性:设置字段的权限
/注意:字段小写、属性大写
4.2 为每个字段提供公开的属性

public class lei();
{

private string name;
public string NAME
{
get;
set;

}

}
lei dx=new lei();
dx.NAME="zhansan";
console.write(dx.NAME);

4.3 字段访问必须通过属性进行访问
get
{
return this.name; //返回一个name的值

}
访问过程:
对象调用属性访问字段之后,讲字段的值返回给对象

set
{
this.name=values;

}

class dx=new class();
dx.NAME="zhansan";

注意:属性本质上是方法 属性不能存数据 数据只能存在字段里
private 只能在类的内部访问 外部无法访问
set 是设置值 没有return返回值 get 有
如果针对一个字段而提供一个get属性而没有set属性 那么就是只读属性
一个类如果没有提供构造方法该类就不能创建对象
一个类的方法一般都是公开的

4.4 简化
可以讲访问块直接写成set 与 get;
自动属性:省略了属性相应的字段
必须同时提供get 和set
prop tab tab 快捷键

4.5 c# 类
public class 类名


private  类型 字段
public 类型 属性

get:
set;
//基本写法

//构造方法
public 类名(参数)使用参数初始化对象

public 返回值类型 方法名(方法参数)

重载和重写的区别

重载一个类搭着两个或者是两个以上的方法 重写是继承父类的东西以后再子类重新设置覆盖

原文地址:https://www.cnblogs.com/liyiyong/p/5033606.html