C#面向对象OOP之一
来源:互联网 发布:伊斯坦布尔之夜 知乎 编辑:程序博客网 时间:2024/06/04 19:07
一.类(class)
1.OOP(Object Oriented Programming)
2.类要以class为开始,后接大括号{ }
3.类包含方法、变量、对象。
4.一个类里,可以有多个对象和多个方法。
二.对象(object)
1.对象是类的一个实例,用来存取和使用类中的方法和变量。
2.创建一个类的对象,例如
class ShanuHouseClass
{
int ...
public ...
static void Main (string [ ] args)
{
ShanuHouseClass objHouseOwner = new ShanuHouseClass();
...
}
三.变量(variable)
1.语法
(private) / public + 变量类型 + 名称
默认情况是private
四.方法(method)
1.语法
private / public / internal / protected / protected internal + 返回值类型 + 方法名(参数列表parameter list)
五.封装
1.封装就是对外部class隐藏成员或变量
封装这个功能是由访问修饰符 (access modifiers) 实现的
2.常用的访问修饰符有
private、public、internal、protected、protected internal
3.public
类和类之间可以互相访问
4.private
只有和private在同一个类中的才可以访问这个private,不在同一个类中的就不可以访问,除非以下两种方法
①在含有private的类中,用一个public的方法去调用这个private变量或private方法,然后在另一个类中调用这个类中的public方法
②在含有private的类中,声明另一个public变量,使用其属性,在另一个class中调用这个public变量
例如
class program { static void Main(string[] args) { Person person = new Person(); Console.WriteLine(person.GetAge()); Console.ReadLine(); } } class Person { private int age; public int Age { get { return age; } set { age = value; } } public int GetAge() { return age; } }
下面例子是不可以调用private
public class baseClass { private void privateMethod() { Console.WriteLine("private Method"); } public void publicMethod() { Console.WriteLine("This Method Shared"); } } public class DerivedClass : baseClass { static void Main(string[] args) { DerivedClass obj = new DerivedClass(); obj.publicMethod(); //obj.privateMethod(); //This will be error as private method can not be accessed in Derived Class } }
5.internal
在同一个程序集(assembly)中可见
程序集即一个project生成的.exe可执行文件和.dll库文件,也就是说,在一个project中可以创建很多namespace,但是只要是在一个project中,那么internal变量就是可见的
6.protected
在自己的class或继承于自己的class的class中可见
7.internal protected
同时具有internal和protected的特性
- C#面向对象OOP之一
- C#OOP之一面向对象简介
- C#中面向对象的OOP概念
- 【C#】C#面向对象OOP编程
- C#面向对象OOP之二
- C#面向对象OOP之三
- C++OOP程序设计读书笔记之一:面向对象的程序设计简介
- [oop] 面向对象由浅入深
- 面向对象(OOP)
- OOP 面向对象系列
- 面向对象 OOP 解释
- 面向对象 --OOP
- 面向对象编程(OOP)
- 面向对象笔记(OOP)
- 面向对象 java oop
- OOP--面向对象编程
- OOP面向对象编程
- 面向对象oop
- LinkedList源码解析
- Linux查看物理CPU个数、核数、逻辑CPU个数
- 关于Java文件路径问题
- 稍微修补后的一个jsp window资源管理页面
- redis笔记-1-了解
- C#面向对象OOP之一
- 【牛客】连续子数组的总和
- [Python][小知识][NO.5] 使用 Pyinstaller 打包成.exe文件
- Spring4.0给我们带来什么?
- ConcurrentHashMap原理分析
- python3中子进程不报错的问题
- 自定义控件实战-打造一个简约而不简单的ViewPager指示器
- 反向代理之负载均衡
- 如何在VMware上装macOS以及如何解决登不上Applestore的问题