C#笔记 2016 8月29号 类和结构体的讲解

原创 2016年08月29日 19:12:37
lass只能有public 和internal修饰
在类内部一般不用internal修饰 而是使用public  在修饰类的时候相反

internal class classA//默认使用internal修饰

public class classB

abstract class classC//声明一个抽象类,只能被继承不能实例化

sealed class classD//声明一个密封类只能实例化不能被继承

public sealed class classE//访问权限加访问属性来声明一个类


静态成员变量属于类的成员,只能使用类名访问不能通过对象调用
const修饰的成员属于静态成员 只能通过类名访问,只能在声明时赋初值
read only 修饰的成员修改值的两种方法:声明的时候直接赋值或者在构造函数中赋值

函数重载  函数名相同 参数列表不同(参数个数不同,参数类型不同)

单例设计模式:私有构造函数,静态自身类型的对象,公有静态接口

单例模式举例:

class Person


private string name;

static  Person  p;

private  Person()

{  name=“Hello”;}

public string static getInstance()

if(p==null)

p=new Person();

return p;

int main()

{  

      Person p1=Person.getInstance(); 




类中的属性:一般将字段(即类的成员)设置为private ,为了访问类的私有字段通过属性来访问字段,避免了调用方法


静态构造函数:
1、只执行一次
2、不能手动调用
3、不带参数
4、静态构造函数不会覆盖默认构造函数
5、静态默认构造函数的调用: 在首次实例化该类或任何的静态成员被引用时,自动调用静态构造函数来初始化该类。
6、不需要访问修饰符不能加参数

 索引器:取代了下表重载,所以在c#中没有下标重载

结构体可以直接声明,类对象要调用构造函数进行声明

类中重写了构造函数后默认的构造函数就没有了  结构体中写没写构造函数默认的构造函数一直存在。
结构体中构造函数中必须给所有变量赋值
类中的构造函数可以声明为私有。结构体中构造函数不能私有化
结构体不使用构造函数初始化的时候,结构体变量要显式的赋值
结构体中的静态构造函数只有在用new来创建对象的时候而且必须是手写的构造函数,才会调用静态构造方法。或者引用静态成员的时候会触发
1、结构体总是隐式密封的,(只能实例化不能继承)因此在定义结构式不能使用sealed和abstract关键字
2、因为结构体不能作为基类,结构的成员不能使用如下访问修饰 protected和protected internal//因为使用protected时在没有继承的情况下和private效果一样
版权声明:本文为博主原创文章,未经博主允许不得转载。

8月29号,java基础语法学习之控制结构后篇

学习报告 1. 今天的学习内容是第三章的循环控制结构及跳转语句 循环的分类: 概念:根据判断结束的条件所放的位置的不同,分为先验循环与后验循环。   先验循环:while ,for   后验...

C#学习笔记类和结构体

类的修饰符 - 无或者internal:只能在同一程序集访问类 - public:同一程序集或者引用该程序集的其他程序集都可以访问 - (internal) abstract:只能在同一程序集访...

HDU 1031.Design T-Shirt【结构体二次排序】【8月21】

Design T-Shirt Problem Description Soon after he decided to design a T-shirt for our Algorit...

C#类最初步代码结构体创建

  • 2011年04月28日 21:28
  • 56KB
  • 下载

C#调用C++封装成DLL的结构体及类

  • 2016年08月13日 11:29
  • 30.38MB
  • 下载

C#学习笔记之——枚举、结构体

一、枚举 例子: enum Season: byte{ Spring=1,Summer,Fall,Winter }enum week{ MON=0,TUE=1,WED,THU,FRI,SAT,...

[源代码]C#类与结构体究竟谁快

  • 2011年09月19日 00:55
  • 128KB
  • 下载

C#直接调用C++非托管结构体、类、成员函数、成员变量

[StructLayout(LayoutKind.Sequential)] public class MyOGRE { //该方式是直接调用C+...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#笔记 2016 8月29号 类和结构体的讲解
举报原因:
原因补充:

(最多只允许输入30个字)