亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

asp.net中C#對象與方法屬性詳解

2019-11-14 16:49:30
字體:
來源:轉載
供稿:網友

C#對象與方法

一、相關概念:

  1、對象:現實世界中的實體

 2、 類:具有相似屬性和方法的對象的集合

 3、面向對象程序設計的特點:封裝  繼承 多態

二、類的定義與語法

1、定義類: 修飾符 類名稱 類成員

a)定義類語法:

修飾符 class 類名
{
   類成員
}

2、類的訪問修飾符:public internal

a) public:可訪問域是所在的程序 和任何引用的程序 訪問不受限制

定義語法:
 public class 類名
 {
   類成員
 }


b) internal:可訪問域定義范圍內 (默認訪問修飾符)

語法:

 (internal) class 類名
 {
   類成員
 }

3、類成員:數據成員和字段 

 a)  數據成員:字段和常量

  字段:變量

  聲明:類型 字段名

例:

 代碼如下復制代碼


public class Persion
{
    public string name;
}

class Test
{
   static void Main(string[] args)
   {
       Persion persion=new Persion();
       persion.name="kaka";
       Console.WriteLine("{0}",persion.name);
   }
}

b) 方法成員
  聲明:
 修飾符 返回值類型 方法名(參數列表)
 {
      方法體
 }
   修飾符:如:public、PRivate、protected、internal
   返回值類型:若方法無返回值,則使用 void
例:

 代碼如下復制代碼

public void Method()
{
  Console.riteLine("方法聲明 www.111Cn.net");
}

4、成員的訪問修飾符:public、private、protected、internal

  a)  public:公有成員

  b) private:私有成員

  c) protected:保護成員

  d) internal:內部成員

例:

 代碼如下復制代碼


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

namespace Consoleapplication2
{
    public class Employee
    {
        private float sum;
        public int day;
        public float wage;
        //定義方法輸出工資信息
        public void Show()
        {
            sum = day * wage;
            Console.WriteLine("工作時間:{0},每天工資:{1},總工資:{2}",day,wage,sum);
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Employee employee = new Employee();
            employee.day = 20;
            employee.wage = 50;
            //employee.sum:無法訪問  因為它為私有成員
            //調用方法現實工資
            employee.Show();
        }
    }
}

三、實例化對象:關鍵字:new

例:

 代碼如下復制代碼

?using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    public class car
    {
        private string carName;
        private string carType;
        private int price;
 
        public string CarName
        {
            get { return carName; }
            set { carName = value; }
        }
        public string CarType
        {
            get { return carType; }
            set { carType = value; }
        }
       
        public int Price
        {
            get { return price; }
            set { price = value; }
        }
 
        public void  action()
        {
            Console.WriteLine("一輛名叫{0}車,型號是{1},價錢是:{2}",carName,carType,price);
        }
         
    }
 
    //創建實例并訪問字段和方法
    class Program
    {
        static void Main(string[] args)
        {
            //創建car類的實例
            car vehicle = new car();
            //給實例賦值
            vehicle.CarName = "奔馳";
            vehicle.CarType = "XZ001";
            vehicle.Price = 1000000;
 
            //調用方法
            vehicle.action();
 
 
 
        }
    }
}


 

C#對象數組排序方法

排序是編程中常用的法算之一,排序的方法有很多種,下面介紹一種簡單有效的排序方法,代碼如下:

 代碼如下復制代碼
private bool isReverse = false;
private void Sort(PersonalNotificationEntity [] list,string key)
{
if ( isReverse )
{
Array.Reverse(list);
isReverse = false;
}
else
{
int len = list.Length;
Type type = typeof(PersonalNotificationEntity);
object [] keys = new object[len];
for(int i = 0 ; i < len ; i++)
{
keys[i] = type.InvokeMember(key,BindingFlags.GetField ,null,list[i],null);
}
Array.Sort(keys,list);
isReverse = true;
}
}

這里使用了Array.Sort()和Array.Reverse()方法對數據進行正/反排序,變量isReverse做為反排序的標志位
方法傳入了2個參數,一個是要排序的對象數組list,一個是排序關鍵字key,即要對象的根據哪個屬性或字段來進行排序(這個值是等于對象的屬性/字段名)
type.InvokeMember()方法可以得到對象實例的屬性/字段值,這里使用的是字段
在得到數組中的每一個要排序的字段值后,把這個字段值數組做為Array.Sort()方法的參數傳入,Sort方法就會將對象數按這個字段的值進行排序

四、屬性

1、
 a) 概念:用于訪問類的字段的成員
 b) 屬性用途:保證數據安全   作數據的驗證

2、聲明:
訪問修飾符 數據類型 屬性名
{
  get{}
  set{}
}

3、get 訪問器
  a) 含義:不帶參數,用于向外部指定字段的值,通常使用return 語句返回某個變量的值 在屬性取值時自動調用
  b) get 訪問器的使用:

 

 代碼如下復制代碼

 


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

namespace ConsoleApplication2
{
    public class Employee
    {
        private string name = "微微";

        public string Name
        {
            get
            {
                Console.WriteLine("程序訪問了get訪問器");
                return name;
            }

        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Employee employee = new Employee();
            Console.WriteLine("訪問屬性之前");
            Console.WriteLine();
            Console.WriteLine(employee.Name);
            Console.WriteLine();
            Console.WriteLine("訪問屬性之后");
        }
    }
}

4、set 訪問器:返回值類型為void

5、屬性類型:

 a) 讀/寫:有get()和set()訪問器的屬性
 b) 只讀:有get(0訪問器的屬性,對成員提供讀取
 c)只寫(不推薦使用):僅包含set() 訪問器

 

五、方法的參數

1、值參數:按值傳遞

例:

 代碼如下復制代碼


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

namespace ConsoleApplication2
{
    public class Test
    {
        public void Method(int x,int y)
        {
            int temp = x;
            x = y;
            y = temp;
            Console.WriteLine("交換之前:x={0},y={1}",x,y);
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            int a = 2;
            int b = 5;
            Test test = new Test();
            test.Method(a,b);
            Console.WriteLine("交換之后:x={0},y={1}",a,b);
        }
    }
}

2、引用參數:向方法傳遞實參在內存中的地址,按地址傳遞

例:

 代碼如下復制代碼


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

namespace ConsoleApplication2
{
    public class Test
    {
        public void Method(ref int  x,ref int y)
        {
            int temp = x;
            x = y;
            y = temp;
            Console.WriteLine("交換之前:x={0},y={1}",x,y);
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            int a = 2;
            int b = 5;
            Test test = new Test();
            test.Method(ref a,ref b);
            Console.WriteLine("交換之后:x={0},y={1}",a,b);
        }
    }
}

3、輸出參數:從方法傳遞回一個結果

關鍵字:out http://www.111cn.net/net/net/46994.htm

例:

 代碼如下復制代碼


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

namespace ConsoleApplication2
{
    public class Test
    {
        public void Method(int x,out int y)
        {
            y = x + x;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Test test = new Test();
            int outy;
            test.Method(35, out outy);
            Console.WriteLine("y={0}",outy);
        }
    }
}

4、數組型參數:參數只允許是一組數組,當方法的參數前帶有params關鍵字時,就是帶數組型參數的方法(使用引用傳遞)

例:

 代碼如下復制代碼


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

namespace ConsoleApplication2
{
    public class Test
    {
        public void Method(params int[] num)
        {
            Console.WriteLine("數組大小:{0}",num.Length);
            foreach (int i in num)
            {
                Console.Write("{0}",i);
            }
            Console.WriteLine();
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            int[] nums = { 1, 2, 3, 4, 5 };
            Test test = new Test();
            test.Method(nums);
            test.Method(2,3,4,5);
            test.Method();
        }
    }
}

補充 對象 方法 屬性有和區別


在面向對象里面,對象和類是不同的,對象是特定類的一個實例,比如如果車是一個類的話,某個人的一輛奔馳車就是一個對象,它是車這個類的實例。類是抽象的,而對象是具體的。方法是定義在對象上的操作,屬性是記錄對象性質和狀態的變量,拿上面車的例子來說,車的重量,最大速度是車的屬性,啟動,停在這些動作則可以定義為車的方法。我說的可能不太準確,建議樓主看看面向對象相關的書籍。

補充:
對象和類當然是不一樣的,對象是類的具體化(其實不準確),再打個比方吧,
告訴你貓是一個類,它包含兩個屬性,重量和毛色,
根據上面的信息你能知道是指是哪只貓嗎?不能吧,因為你不知道它的重量和毛色。 現在把貓實例化,即指定它的重量和毛色,假定為1kg、黑色,而這個1kg黑色的貓就是對象了,同樣,2kg白色的貓,3kg黃色的貓,等都是對象。

當然1kg黑色的貓也可以是作為一個類,為這個類加個主人屬性,
實例化類就得到對像,比如李四的(1kg黑色貓),張三的(1kg黑色貓)... 就是這個類的對象。

接著,李四的lkg黑色貓也可以成為一個類了,那這個類的對象呢,和上面一樣,加個能夠區分的屬性。
......
這樣就形成了類的層次結構了,然后父類,子類(派生類),繼承等概念都可以理解了。

 
你可能感興趣的文章
  • asp.net repeater控制使用示例詳解
  • asp.net中DBNull.Value,null,String.Empty區別詳解
  • asp.net中CSharpThinking 擴展方法

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
这里只有视频精品| 亚洲成年网站在线观看| 欧美成人精品在线视频| 日韩在线免费视频| 韩国精品美女www爽爽爽视频| 成人激情电影一区二区| 亚洲aa中文字幕| 国产精品偷伦一区二区| 午夜精品美女自拍福到在线| 久久人人爽亚洲精品天堂| 欧美一级淫片videoshd| 国产精品白嫩初高中害羞小美女| 久久精品国产欧美亚洲人人爽| 日韩欧美成人网| 欧美综合激情网| 日韩欧美在线国产| 亚洲free嫩bbb| 国产精品久久久久久久久久99| 亚洲aⅴ日韩av电影在线观看| 国内精品国产三级国产在线专| 国产日韩精品在线观看| 日韩av在线影院| 欧美高清在线视频观看不卡| 国产一区二区日韩精品欧美精品| 国产成人综合久久| 欧美在线中文字幕| 国产精品一区二区三区久久| 亚洲一区二区三区香蕉| 色婷婷av一区二区三区久久| 亚洲xxx自由成熟| 91午夜在线播放| 黑人欧美xxxx| 亚洲人成毛片在线播放| 日韩**中文字幕毛片| 91av在线视频观看| 伊人久久大香线蕉av一区二区| 国产精品91久久久| 国产精品丝袜久久久久久不卡| 欧美日韩中文在线观看| 久久精品电影网站| 国产精品久久久久久超碰| 丝袜亚洲欧美日韩综合| 精品女同一区二区三区在线播放| 久久免费成人精品视频| 最近2019中文字幕mv免费看| 久久精品人人做人人爽| 清纯唯美日韩制服另类| 国产偷国产偷亚洲清高网站| 色综久久综合桃花网| 国内精品久久久久影院 日本资源| 538国产精品一区二区在线| 91国产精品电影| 亚洲精品电影网| 欧美极品少妇xxxxx| 高跟丝袜一区二区三区| 国产精品美女999| 国产欧美一区二区三区在线| 91久久久久久久| 久久精品成人一区二区三区| 欧美精品18videos性欧| 欧美性在线观看| 久久国产一区二区三区| 国产69精品久久久| 久久精品国产综合| 欧美精品18videos性欧美| 欧美与黑人午夜性猛交久久久| 国内伊人久久久久久网站视频| 久久久亚洲精选| 国产高清视频一区三区| 欧美午夜精品久久久久久浪潮| 9.1国产丝袜在线观看| 亚洲人成77777在线观看网| www高清在线视频日韩欧美| 欧美夫妻性生活视频| 精品亚洲一区二区三区四区五区| 亚洲精品一区在线观看香蕉| 97成人精品视频在线观看| 久久这里只有精品视频首页| 日韩高清欧美高清| 97香蕉超级碰碰久久免费软件| 国产一区二区激情| 欧美中文字幕在线播放| 永久555www成人免费| 国产精品久久久久久久久免费看| 国产精品日韩在线播放| 黄色精品一区二区| 亚洲国产另类 国产精品国产免费| 成人一区二区电影| 中文字幕最新精品| 久久久久久久999精品视频| 久久久精品美女| 久久久精品999| 色伦专区97中文字幕| 日韩欧美国产高清91| 亚洲国产欧美精品| 91久久精品一区| 国产日产亚洲精品| 亚洲一区二区三区在线免费观看| 日韩av在线最新| 国产精品夜间视频香蕉| 亚洲精品免费网站| 国产精品高清免费在线观看| 亚洲欧美日韩天堂| 九九九热精品免费视频观看网站| 日本一本a高清免费不卡| 亚洲人成在线电影| 日韩成人网免费视频| 国产精品高清免费在线观看| 成人国内精品久久久久一区| 日韩av一区二区在线观看| 日韩欧美亚洲成人| 国产精品video| 91精品国产自产在线老师啪| 5278欧美一区二区三区| 国产在线观看一区二区三区| 成人免费网站在线观看| 久久九九全国免费精品观看| 亚洲999一在线观看www| 性色av一区二区三区红粉影视| 亚洲黄色有码视频| 欧美日韩成人免费| 奇米影视亚洲狠狠色| 国产主播喷水一区二区| 色噜噜狠狠狠综合曰曰曰88av| www.日韩不卡电影av| 久久久国产一区二区| 欧美精品videos另类日本| 国产成人一区二区三区| 韩国三级日本三级少妇99| 日韩精品极品视频免费观看| 欧美激情精品久久久| 日韩av资源在线播放| 久久综合网hezyo| 久久综合九色九九| 亚洲性xxxx| 国产精品欧美激情在线播放| 国产日韩欧美另类| 92版电视剧仙鹤神针在线观看| 国产精品激情av在线播放| 欧美高清视频一区二区| 国产一区二区在线免费视频| 欧洲精品毛片网站| 中文字幕日韩av| 91国内在线视频| 国产ts人妖一区二区三区| 日韩精品在线观看网站| 欧美国产日韩一区二区在线观看| 久久久亚洲福利精品午夜| 中文字幕成人精品久久不卡| 欧美孕妇与黑人孕交| 91久久嫩草影院一区二区| 久久精品亚洲热| 亚洲色图13p| 国产精品白丝av嫩草影院| 国产精品自拍视频| 性日韩欧美在线视频| 久操成人在线视频| 成人午夜两性视频| 97成人精品视频在线观看| 亚洲视屏在线播放| 亚洲国产精品网站| 亚洲精品国产精品国自产观看浪潮| 正在播放欧美一区| 菠萝蜜影院一区二区免费|