建構函式 匿名類 乙個類分開寫

2022-10-11 17:33:13 字數 2539 閱讀 1832

今天是開學第一天,好多過去學的知識都忘了 t_t。

今天覆習了建構函式。

建構函式必須要記住的幾點: 1. 建構函式名要與類名完全相同;2.建構函式木有返回值(可以根據他的結構看出來 許可權+類名() 木有返回值型別ing。。);3.建構函式不能被直接呼叫,必須使用new 初始化初始化乙個物件;4.預設的建構函式是沒有引數的,但當你自己建立了公有的建構函式後,預設的建構函式就沒有作用了。

今天的作業:

問題是讓求兩個點之間的距離,其中乙個點是固定點(-1,-1),另乙個要自己輸入。

program類裡的

/* 方法一 物件導向的寫法

/*方法一 物件導向的寫法

console.writeline("請輸入橫座標:");

int h = int.parse(console.readline());

console.writeline("請輸入縱座標:");

int z = int.parse(console.readline());

jisuan a = new jisuan();

jisuan b = new jisuan(h, z);

double d=a.suanshu(b);

console.writeline(d);

console.readkey();

*//*方法三 面向過程的寫法

int x1 = -1;

int y1 = -1;

console.writeline("請輸入橫座標:");

int x2 = int.parse(console.readline());

console.writeline("請輸入縱座標:");

int y2 = int.parse(console.readline());

double juli =math.sqrt( (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));

console.writeline(juli);

console.readkey();             */

/* 方法三

jisuan a = new jisuan();

double b=a.suanshu();

console.writeline(b);

console.readkey();*/

jisuan類裡的

//方法一

// int x1;

// int y1;

// public jisuan()

///*過載的另乙個構造方法*/ public jisuan(int h,int z)

// public double suanshu(jisuan b)

/*方法三

int x1 = -1;

int y1 = -1;

int x2 = int.parse(console.readline());

int y2 = int.parse(console.readline());

public double suanshu()

*/這個方法三應該應該算是物件導向吧。。。因為它也用到了建立的 jisuan 類。。。

匿名類 用 var 定義  格式為:var 匿名類的名 = new  ;

作用:用它來寫一些只用一次貨兩次的類可以避免為了這些不常用的而重新建乙個類;

用法:var niming1 = new ;   //定義了乙個含有兩個引數(name,age)的匿名類;

console.writeline("name:,age:", niming1.name, niming1.age);    //顯示匿名類裡被賦值的引數;

var niming2 = new ;  //定義了另乙個含有兩個引數的匿名類;

niming1= niming2;   //因為引數個數和型別相同所以是同一類,可以相互賦值如這個 是將niming2的值賦給niming1;

console.writeline("name:,age:", niming1.name, niming1.age);

同乙個類分開寫 格式: partial class 類名

用法:第乙個類  cricle.cs

partial class circle

public circle(int initialradius)

第二個類 cricle2.cs

partial  class circle

}pargram 類

circle c = new circle();  //cricle中就包括了cricle1和cricle2中的定義的

double area1=c.area(); 

console.writeline(area1);

circle c2 = new circle(5);

double area2 = c2.area();

console.writeline(area2);

console.readkey();

這個我也有點不太懂唉。。知道的大神解釋下為啥哈。。

嗯。今天就寫這麼多吧。。真累。。。

父類,子類,匿名類建構函式

1 子類只繼承父類的預設 預設 建構函式,即無形參建構函式。如果父類沒有預設建構函式,那子類不能從父類繼承到任何建構函式。2 子類從父類處繼承來的父類預設建構函式,不能成為子類的預設建構函式。3 在建立物件時,先呼叫父類預設建構函式對物件進行初始化,然後呼叫子類自身自己定義的建構函式。4 如果子類想...

題目 寫乙個只能構造乙個物件的類

題目 寫乙個只能構造乙個物件的類 整理 cmdhack 2010年1 月24日19 47 49 分析 建構函式分為有參構造 無參構造 拷貝構造 三種方法 物件又分為棧中構造物件和堆中構造物件 首先來按照普通的做法寫乙個類如下 很顯然如果單單這樣可以構造無數個物件 那我設想一下如果在建構函式中做乙個 ...

乙個完美的類的建構函式應該這樣寫

1 初始化效率要高效。所有的成員變數初始化通過 初始化列表實現。如果放在類的建構函式裡面初始化,效率會低!因為 在進入類的建構函式之前,類必須是乙個已經構造好的類了!也就是,其內部成員變數也已經被構造好了。也就是進入建構函式之前所有的內部成員變數都已經執行了引數為空的構造 假設沒有用初始化列表 如果...