首先我们需要知道面向对象语言(Object-oriented language)的三大特点:封装(Encapulation),继承(Inheritance),多态(Polymorphism)

引言:常见的面向对象语言有C++,JAVA,C#等等。首先先定义一个类,方便大家初步去掌握类到底是怎么写的。

public class Students

{                                     

int sid;

int age; //如果不标注private还是public,则默认为private

…………

public void getName(){

……

}

}

类的实例化以及调用是和c++一样的。

对于类前面的访问修饰符,大致有这么几种

  1. pulic:对于一个放在同一个组合里的其他代码和引用了它的其他组合的代码,都是可以运用此类型并且调用其成员以及成员函数的。
  2. private:本类中才能访问其成员和成员函数,然而类外面的代码是不可以运用的。
  3. protected:此类的成员和方法只能被本类中的,或者它的派生类使用,其他不能的(从这样来看,介于public和private之间)。
  4. internal:此类的成员可以被同一个组合的代码使用,然而不能被其他组合的代码使用。
  5. protected internal:此类的成员可以被同一个组合的代码使用,或者被任何其它组合中此类的派生类使用。

在以往c++的学习中,已经知道了一些面向对象的知识,此次对C#的学习中,很多东西就可以略过了,不过对于一些常见的错误或者需要注意,不好理解的地方,在此分享给大家:

1、形参和实参的问题:                  一个事例说明一下:

这是输出示例,可以看出,实参在传入函数中时候并没有被改变其真正的值,只是把实参的值赋给了形参,然后形参进行了相应的运算,对于实参的值并没有任何影响。然而如果把一个对象传入的话,可以理解为把对象的指针传入,此时,方法内部的操作会影响到对象的属性。

2、this的应用

1.避免混淆: 例如这段小代码:

public void SomeMethod(int parameter){

this.parameter = parameter;

//在此段代码中,当前对象的属性parameter通过这种方式就//可以引用出来,否则会被形参parameter掩盖。

}

2.将当前的对象可以作为一个参数 例如:

return this;

或者是  B.someMethod(this);

3.在一个构造函数执行前,调用重载的构造函数 例如下面代码:

通过示例,可以看出来this可以调用有参数的构造函数去实现无参数的构造函数。

3、静态成员(static members)

a)   静态成员是可以看做类的一部分。因为它可以被类名直接去调用。

b)   静态的方法里面是没有this指针的

c)   静态的方法不可以去使用一个非静态的成员。

4、静态的构造函数

a)   当类被实例化的时候,它是被最先调用的。

b)   静态构造函数前不允许加public,private等修饰符

c)   如果属性只能被赋值一次,这种方法不错。

5、静态类:

a)   不能实例化

b)   不能派生

c)   不能有非静态的成员和方法

d)   然后我实在搞不懂它想干什么……大家可以给我评论也教教我。

c#中的classes和objects一些知识【1】的更多相关文章

  1. Reloading Java Classes 101: Objects, Classes and ClassLoaders Translation

    The original link: http://zeroturnaround.com/rebellabs/reloading-objects-classes-classloaders/ A Bir ...

  2. Classes as objects

    Before understanding metaclasses, you need to master classes in Python. And Python has a very peculi ...

  3. 【转载】Python编程中常用的12种基础知识总结

    Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进 ...

  4. Python编程中常用的12种基础知识总结

    原地址:http://blog.jobbole.com/48541/ Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时 ...

  5. SQL Server中的TempDB管理——TempDB基本知识(为什么需要版本存储区)

    原文:SQL Server中的TempDB管理--TempDB基本知识(为什么需要版本存储区) 参考资料来自: http://blogs.msdn.com/b/sqlserverstorageengi ...

  6. react组件中的constructor和super小知识

    react组件中的constructor和super小知识 1.react中用class申明的类一些小知识 如上图:类Child是通过class关键字申明,并且继承于类React. A.Child的类 ...

  7. SQLite3中自增主键相关知识总结,清零的方法、INTEGER PRIMARY KEY AUTOINCREMENT和rowid的使用

    这篇文章主要介绍了SQLite3中自增主键相关知识总结,清零的方法.INTEGER PRIMARY KEY AUTOINCREMENT和rowid的使用等,需要的朋友可以参考下 一.SQLite清空表 ...

  8. eclipse中的classes文件夹同步问题

    问题: 在同步项目时,由于误操作将classes文件夹加入到了同步版本中,这样会导致每次更新程序编译后,会有很多class文件显示在同步清单中. 解决方案: 将classes文件不设置为同步. 1. ...

  9. 【Cocos2d-x游戏开发】细数Cocos2d-x开发中那些常用的C++11知识

    自从Cocos2d-x3.0开始,Cocos2dx就正式的使用了C++11标准.C++11简洁方便的特性使程序的可拓展性和可维护性大大提高,也提高了代码的书写速度. 下面我们就来一起学习一下Cocos ...

随机推荐

  1. 【CodeForces148D】Bag of mice

    题意 dragon和princess玩一个游戏.开始的时候袋子里有w个白老鼠和b个黑老鼠.两个人轮流从袋子里面往外摸老鼠.谁先拿到白老鼠谁先获胜.dragon每次抓出一只老鼠,剩下老鼠里面都会有一只跳 ...

  2. 75. Sort Colors (Array)

    Given an array with n objects colored red, white or blue, sort them so that objects of the same colo ...

  3. Java-Properties文件读取工具类

    import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configurat ...

  4. 4418开发板读取u盘说明

    1.插上u盘后会在dev下生成两个文件db db1 将db1挂载即可访问..

  5. 面向对象JS基础

    什么是面向对象?面向对象是一种思想!(废话). 面向对象可以把程序中的关键模块都视为对象,而模块拥有属性及方法.这样我们如果把一些属性及方法封装起来,日后使用将非常方便,也可以避免繁琐重复的工作.接下 ...

  6. orcle clob字段查询

    select utl_raw.cast_to_varchar2(DBMS_LOB.SUBSTR(column,2000,1)) from t

  7. git 进阶操作

    1.blame git blame +文件名,可以查看到某个文件每一行最近一次是由谁编辑修改的.-L 22,33 选项可以制定 2.bisect 开始git bisect:   $ git bisec ...

  8. 说说jmap命令

    jmap命令 ps -ef| grep java root 1426 1359 0 10:30 pts/0 00:00:00 grep java root 7807 1 0 Apr28 ? 00:22 ...

  9. 盒子模型 以及CSS的box-sizing属性。

    盒子模型有两种 一种是 内容盒子模型 一种是边框盒子模型. 内容盒子模型(标准盒子模型)由width和height中指定的元素的尺寸不包括内边距和边框 仅是指的内容的实际尺寸: 网上搜索了两张配图不错 ...

  10. 企业搜索引擎开发之连接器connector(十六)

    本人有一段时间没有接触企业搜索引擎之连接器的开发了,连接器是涉及企业搜索引擎一个重要的组件,在数据源与企业搜索引擎中间起一个桥梁的作用,类似于数据库之JDBC,通过连接器将不同数据源的数据适配到企业搜 ...