新聞中心
C#基礎(chǔ)知識之sealed 修飾符是干什么的?

成都創(chuàng)新互聯(lián)成立10余年來,這條路我們正越走越好,積累了技術(shù)與客戶資源,形成了良好的口碑。為客戶提供成都網(wǎng)站設(shè)計、做網(wǎng)站、網(wǎng)站策劃、網(wǎng)頁設(shè)計、域名注冊、網(wǎng)絡(luò)營銷、VI設(shè)計、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。網(wǎng)站是否美觀、功能強(qiáng)大、用戶體驗好、性價比高、打開快等等,這些對于網(wǎng)站建設(shè)都非常重要,成都創(chuàng)新互聯(lián)通過對建站技術(shù)性的掌握、對創(chuàng)意設(shè)計的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。
sealed 修飾符表示密封,用于類時,表示該類不能再被繼承,不能和 abstract 同時使用,因為這兩個修飾符在含義上互相排斥,用于方法和屬性時,表示該方法或?qū)傩圆荒茉俦焕^承,必須和 override 關(guān)鍵字一起使用,因為使用 sealed 修飾符的方法或?qū)傩钥隙ㄊ腔愔邢鄳?yīng)的虛成員,通常用于實現(xiàn)第三方類庫時不想被客戶端繼承,或用于沒有必要再繼承的類以防止濫用繼承造成層次結(jié)構(gòu)體系混亂,恰當(dāng)?shù)睦?sealed 修飾符也可以提高一定的運行效率,因為不用考慮繼承類會重寫該成員
示例:
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace Example06 {
- class Program {
- class A {
- public virtual void F(){
- Console.WriteLine("A.F");
- }
- public virtual void G(){
- Console.WriteLine("A.G");
- }
- class B : A {
- public sealed override void F(){
- Console.WriteLine("B.F");
- }
- public override void G(){
- Console.WriteLine("B.G");
- }
- class C : B { public override void G(){
- Console.WriteLine("C.G");
- }
- static void Main(string[] args){
- new A()。F();new A()。G();
- new B()。F();new B()。G();
- new C()。F();new C()。G();
- Console.ReadLine();
- }
C#基礎(chǔ)知識之override 和 overload 的區(qū)別?
override 表示重寫,用于繼承類對基類中虛成員的實現(xiàn),overload 表示重載,用于同一個類中同名方法不同參數(shù)(包括類型不同或個數(shù)不同)的實現(xiàn)
示例:
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace Example07 {
- class Program {
- class BaseClass {
- public virtual void F(){
- Console.WriteLine("BaseClass.F");
- }
- class DeriveClass : BaseClass {
- public override void F(){
- base.F();
- Console.WriteLine("DeriveClass.F");
- }
- public void Add(int Left, int Right){
- Console.WriteLine("Add for Int: {0}", Left + Right);
- }
- public void Add(double Left, double Right){
- Console.WriteLine("Add for int: {0}", Left + Right);
- }
- static void Main(string[] args){
- DeriveClass tmpObj = new DeriveClass();
- tmpObj.F();
- tmpObj.Add(1, 2);
- tmpObj.Add(1.1, 2.2);
- Console.ReadLine();
- }
C#基礎(chǔ)知識之什么是索引指示器?
實現(xiàn)索引指示器(indexer)的類可以象數(shù)組那樣使用其實例后的對象,但與數(shù)組不同的是索引指示器的參數(shù)類型不僅限于int,簡單來說,其本質(zhì)就是一個含參數(shù)屬性
示例:
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace Example08 {
- public class Point {
- private double x, y;
- public Point(double X, double Y){
- x = X;y = Y;
- }
- //重寫ToString方法方便輸出
- public override string ToString(){
- return String.Format("X: {0} , Y: {1}", x, y);
- }
- public class Points {
- Point[] points;public Points(Point[] Points){
- points = Points;
- }
- public int PointNumber {
- get {
- return points.Length;
- }
- //實現(xiàn)索引訪問器public Point this[int Index] {
- get { return points[Index];
- }
- //感謝watson hua(http://huazhihao.cnblogs.com/)的指點
- //索引指示器的實質(zhì)是含參屬性,參數(shù)并不只限于int class WeatherOfWeek {
- public string this[int Index] {
- get {
- //注意case段使用return直接返回所以不需要break switch (Index){
- case 0:{
- return "Today is cloudy!";
- }
- case 5:{
- return "Today is thundershower!";
- }
- default:{
- return "Today is fine!";
- }
- public string this[string Day] {
- get {
- string TodayWeather = null;
- //switch的標(biāo)準(zhǔn)寫法switch (Day){
- case "Sunday":{
- TodayWeather = "Today is cloudy!";break;
- }
- case "Friday":{
- TodayWeather = "Today is thundershower!";
- break;
- }
- default:{
- TodayWeather = "Today is fine!";break;
- }
- return TodayWeather;
- }
- class Program {
- static void Main(string[] args){
- Point[] tmpPoints = new Point[10];
- for (int i = 0; i < tmpPoints.Length; i++){
- tmpPoints[i] = new Point(i, Math.Sin(i));
- }
- Points tmpObj = new Points(tmpPoints);
- for (int i = 0; i < tmpObj.PointNumber; i++){
- Console.WriteLine(tmpObj[i]);}
- string[] Week = new string[] {
- "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Staurday"
- }
- WeatherOfWeek tmpWeatherOfWeek = new WeatherOfWeek();
- for (int i = 0; i < 6; i++){
- Console.WriteLine(tmpWeatherOfWeek[i]);
- }
- foreach (string tmpDay in Week){
- Console.WriteLine(tmpWeatherOfWeek[tmpDay]);
- }
- Console.ReadLine();
- }
標(biāo)題名稱:C#基礎(chǔ)知識總結(jié)
網(wǎng)頁網(wǎng)址:http://m.5511xx.com/article/ccsooco.html


咨詢
建站咨詢
