C# 屬性與欄位
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { /* 主方法,函式的入口。 * 從方法的命名來看,java 方法命名是首字母小寫,後面每個開頭字母大寫(小駝峰規則) * 而C#也類似,只不過是首字母大寫(大駝峰)。--就是喜歡和別人對著幹 */ static void Main(string[] args) { Student s = new Student("invoker","1010",20,"man"); Console.WriteLine(s); s.Name = "sfwoegwoegfjodger"; s.sex = "woman"; //沒有提供set訪問器就會報錯。 Console.WriteLine(s); //僅為了防止控制檯閃退 Console.ReadLine(); } } class People { private string name; //定義欄位:在C#中欄位用來儲存屬性的資料。而屬性是對外發布資料。 private int age; /* * 定義屬性: * public string sex{get;}沒有set,該屬性是不能夠被賦值的。 * public string sex{set;}沒有get,該屬性是不能夠取值的。 * public string sex{}類似 private string sex; * 那麼: * public string sex; 這是定義欄位,就不一樣了。沒有任何約束(除了修飾詞)。 * public string sex{set;get} 這是定義屬性。它的訪問許可權全靠set,get訪問器。 */ //定義屬性,雖然是公有成員,當沒有set訪問器,外界不能修改,該屬性,只能訪問.同理沒get;不能訪問。 //如果定義私有屬性,get;set;訪問器就沒有任何意義了。 public string sex { get; set; } //有屬性,沒有相應的欄位C#會自動生成相應的欄位。 /* 私有欄位,通過相應的屬性中的get,set訪問器來訪問。 * 外部只需要取該公有屬性。相當於為name取一個別名 * Name,為外部訪問。當然 * get,set裡面可以寫相關的約束程式碼,限制通過Name * 來訪問或者修改name。 * 與java中set,get方法相比。C#簡化了外部訪問私有成員固定的 * 模式getX(),setX()方法。而是通過替代公有屬性來訪問私有欄位成員。 * 另外,java屬性和欄位沒什麼區別。 */ public string Name { get { return name; } set { if (value.Length < 12) name = value; else Console.WriteLine("非法修改"); } } //為age欄位提供相應的屬性,便於外界訪問 public int Age { get { return age; } set { age = value; } } public People(string name,int age,string sex) { this.name = name; this.age = age; this.sex = sex; } } /*定義一個學生類繼承Ojbect類,當然不繼承Object會自動繼承該類,這點和java類似 * 繼承使用":" */ class Student:People { private string id; /* C#與java指代的父類不同,C#是base,而java是super. * 呼叫父類的構造器也不同,java是寫在子類構造器裡面,而C#是在 * 子類構造器方法上面 */ public Student(string name,string id,int age,string sex):base(name,age,sex) { this.id = id; } /*重寫Object裡面的ToString方法 */ public override string ToString() { return "<" +Name + "," + id + "," +Age + ","+sex+">"; } } }
好久沒寫部落格了,本來一直學習java,而老師硬要我們自學C#。沒折就隨便學學。不過C#與java極為類似。學習來也不會那麼吃力。找到不同點就行了。個人之見,有什麼不對的地方,還請諒解!。
相關推薦
C# 屬性與欄位
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp
C#屬性與欄位
# C#屬性與欄位 國慶難得放鬆了一週,九月真的很大壓力。~~代價是~~回到學校之後一直還債,加上紅會那邊全體大會、R社的百團招新,學業和自學沒什麼進展,~~但是也擠時間學了很多東西。~~這周相對沒那麼忙了,受狒狒哥的啟發我也更新一下部落格吧。~~(說那麼多,只是想說我沒有摸魚)~~ ## 欄位
c# 中屬性與欄位
今天回頭學習c# 的基礎,看到屬性的定義,忽然明白一個簡單的道理:欄位定義為Private,不需要class 的外部進行訪問,那麼就可以搞個屬性對private 的欄位進行get,set, 還有一個理由就是這個private 的欄位有時是隻讀取的,不允許外部賦值寫入,那麼就只搞個get 的屬性OK了
Kotlin 全面學習之路 (八) -- 屬性與欄位
1、 宣告屬性 在 Kotlin 中 屬性分為 可變屬性 和 只讀屬性: var 可變 val 只讀 示例; class Mike { val name: String = "Mike" var age: Int = 25 }
Kotlin學習之類與物件篇—屬性與欄位
屬性的宣告 Kotlin類中可以有屬性,屬性可以被宣告為可變屬性,用var關鍵字修飾;或者宣告為只讀屬性,用val修飾。 class Address { var name: String = ... var street: String
C# 帶後備欄位的屬性和不帶後備欄位的屬性
public class Test { public Test() { Date = "1"; } private string dt { get; } = "1"; public string Date {
[最新]織夢dedecms5.7資料庫結構詳細說明-附表名與欄位名
織夢dedecms-v5.7資料表結構詳細說明-附表名與欄位名,新手入門學習必備。 1、dede_addonarticle:附加文章表 表名:dede_addonarticle(ENGINE=MyISAM/CHARSET=utf8) 說明
C#中模型欄位取值的欄位計算
定義一個資源模型,包含Shape、LEN_PIPE等屬性。需要我們在儲存資源至GIS資料圖層時,如已指定Shape,則LEN_PIPE自動計算(Shape是一條多段線,長度向下取整為LEN_PIPE的值),而當我們從GIS圖層中讀取資料時,如LEN_PIPE已有值,則取已有值,否則自動按Shap
jackson序列化 屬性 get 欄位不對應
在jackson序列化物件時,由於其在原始碼中增加了一個可見性判斷,會預設只序列化public修飾的欄位和方法,造成一個可能存在的問題是你欄位明明是CId,但是自動生成的get方法是getCId的話,jackson會將欄位序列化成cid,造成一個反序列失敗的問題(2.0.2到最新2.9.6版本測試)
“全棧2019”Java第三十七章:類與欄位
難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文連結 “全棧2019”Java第三十七章:類與欄位 下一章 “全棧2019”Java第三十八章:類與方法 學習小組 加
“全棧2019”Java第四十六章:繼承與欄位
難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文連結 “全棧2019”Java第四十六章:繼承與欄位 下一章 “全棧2019”Java第四十七章:繼承與方法 學習小組
MySQL中使用表別名與欄位別名
MySQL 表別名(Alias) SQL 表別名 在 SQL 語句中,可以為表名稱及欄位(列)名稱指定別名(Alias),別名是 SQL 標準語法,幾乎所有的資料庫系統都支援。通過關鍵字 AS 來指定。 表別名語法: SELECT column FROM tab
C#常量和欄位以及各種方法的語法總結
目錄 一、 常量和欄位.... 1 1、 常量.... 1 2、欄位.... 1 二、方法.... 2 1、例項構造器和類(引用型別).... 2 2、 例項構造器和結構(值型別).... 2 3、 型別構造器.... 3 4、 操作符過載方法.... 3 5、 轉換操作符方
oracle資料庫表右鍵屬性各個欄位的含義
Column Datatype NULL Description OWNER VARCHAR2(30) NOT NULL 屬主 TABL
註解開發mybatis的mapper屬性和欄位不對應問題@Results—resultMap
註解開發—mybatis的mapper屬性和欄位不對應問題@Results—resultMap Mybatis給我們提供了一種對映方式,如果屬性的命名是遵從駝峰命名法的,資料列名遵從下劃線命名。MyBatis支援使用註解來配置對映語句,不再需要在XML配置檔案
mysql更改表與欄位的編碼方式
建立表時使用show create table student檢視發現編碼預設為latin1 接下來使用alter table student default character set utf8;更改了資料表的編碼方式。 發現表的編碼已經改為utf
記憶體分配與欄位 堆和棧 XIP(片上執行)
1 記憶體分配與欄位 程式編譯時,編譯器將程式碼翻譯成彙編程式碼,然後彙編器將彙編程式碼翻譯成機器程式碼(二進位制),得到目標檔案,最後連結器將目標檔案連結成可執行檔案。而目標檔案和可執行檔案的格式一般是類似的,由一個個se
JPA之大資料欄位對映與欄位延遲載入
1、修改Person.java中的程式碼 package cn.sunft.bean; import java.util.Date; import javax.persistence.Basic; import javax.persistence.Column; imp
Django中ORM模型總結(二)[模型類的對應關係,模型類的屬性,欄位型別]
模型類的對應關係 多對多 建立模型類----->新聞型別類 class TypeInfo(models.Model): """建立新聞模型類""" tname = models.CharField(max_length=20) 建立模型類--
postgres資料庫獲取表的資訊與欄位的資訊
1、獲取postgres中定義表的名稱與註釋 select relname as TABLE_NAME ,col_description(c.oid, 0) as COMMENTS from pg_class c where relkind = 'r' and relna