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#中的结构体与类的区别

经常听到有朋友在讨论C#中的结构与类有什么区别.正好这几日闲来无事,自己总结一下,希望大家指点. 1. 首先是语法定义上的区别啦,这个就不用多说了.定义类使用关键字class 定义结构使用关键字...

C#中的类与结构体的区别

作为一只菜鸟,在论坛拜读各位大神文章也有一段时间,但是觉得很多东西还是“纸上得来终觉浅,绝知此事要躬行”。就拿最基础的C#中类和结构体来说,很长一段时间觉得这两者几乎不存在什么差别。现在谈谈自己对这两...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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