C#学习第四弹之封装、继承和多态

OOP的三大支柱:(1)封装 (2) 继承 (3)多态

C#中的封装,这里说明一下静态类和属性。

静态类:静态的类,不能实例化,而且是密闭的,不能从它派生类型,也无构造方法。

静态类的作用:由于C#中不允许有全局方法,而有时候却恰恰需要一些工具类来实现一些比如数学计算的事情,这个时候静态类便派上了用场。

属性及其作用:罗凯老师在Java课上对属性的解释是“Property: something that holds data“。一般而言,客户希望在不使用方法的情况下访问对象的状态;但是类的设计者却想将类的状态隐藏在类成员中而让客户只能通过方法间接访问对象的状态。而属性满足了这两个目的: (1)为客户提供简单的“类似成员变量”的接口(2)同时为设计者提供了“使用方法来实现”的OO设计所必须的数据隐藏性。

属性写法如下:

 1 using System;
 2
 3 class MyClass
 4 {
 5     public int property;
 6     public int Property
 7     {
 8         get { return this.property; }
 9         set { this.property = value; }
10     }
11     static void Main(string[] args)
12     {
13         MyClass Object = new MyClass();
14         Object.Property = 5;
15         Console.WriteLine(Object.Property);
16     }
17 }
时间: 2024-11-06 22:21:37

C#学习第四弹之封装、继承和多态的相关文章

运维学习第四弹

运维学习第四弹之shell(bash): 一. hell可以翻译成壳,大多指能够对内部核心起到保护作用的一种装置或结构.在计算机科学中shell的实际意义为操作者提供的.能够通过系统调用或库调用使用整个计算机资源的访问接口. 它既是一种命令解析器又是一种程序设计语言.作为命令解析器,它可以解释和执行用户输入的命令,也可以自动地解释和执行预先编写好并保存在某个文本文件中的一系列的命令:作为程序设计语言,shell特别定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和条件分支

day33 序列类型,绑定方法,类方法,静态方法,封装继承和多态

Python之路,Day20 = 序列类型,绑定方法,类方法,静态方法,封装继承和多态 序列是指有序的队列,重点在"有序". 一.Python中序列的分类 Python中的序列主要以下几种类型: 3种基本序列类型(Basic Sequence Types):list.tuple.range 专门处理文本的附加序列类型(Text Sequence Types):str 专门处理二进制数据的附加序列类型(Binary Sequence Types): bytes.bytearray.mem

Mysql数据库大量删除操作及谈面向对象中的封装继承和多态原理(图)

Mysql数据库大量删除操作及谈面向对象中的封装继承和多态原理(图)最近进行数据库操作,遇到一个问题,就是大量删除一个数据表中的数据后,由于设定了id是自增的,导致再插入时,默认生成的id会很大,这个时候想要再次插入新的数据,应该怎么办呢?1.明确目前最后一个id的大小select id from tags order by id DESC limit 0,1; 假设返回的是9,则设置数据表从10开始自增 2.修改这个数据表从10开始自增alter table tags auto_increme

swift学习笔记(四)关于类的继承

在swift中,继承是区分类与其它对象的基本特征 继承后的子类能够重写父类的方法,包含类方法和实例方法,属性和附属脚本(subscript) 在继承过程中,构造器方法init()是不被继承的,须要显示标明 class Tandem: Bicycle { init() { super.init() maxPassengers = 2 }  } 子类仅仅能够改动从父类继承来的变量属性,而不能够改动常量let属性 关于重写override 重写方法:能够通过super.function来重写父类的方法

Python 学习第四弹:编码问题(转载)

关于python的编码问题一直以来不得解,终于在今天从这篇博文中明白了. 原文地址: http://nedbatchelder.com/text/unipain.html 译文地址:http://pycoders-weekly-chinese.readthedocs.org/en/latest/issue5/unipain.html 译者: yudun1989 实用Unicode编程指南 这是我在 Pycon2012 所做的演讲.你可以阅读本页的幻灯片和文字,或者直接在浏览器中打开 演示 ,或者

css学习の第一四弹—代码格式简写归纳

一.代码简写方式归纳 >>1.盒模型代码简写: 外边距(margin).内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左 1.如果top.right.bottom.left的值相同,如下面代码: margin:10px 10px 10px 10px; 可缩写为: margin:10px; 2.如果top和bottom值相同.left和 right的值相同,如下面代码: margin:10px 20px 10px 20px; 可缩写为: m

面向对象:封装继承和多态、接口

1.多态 定义:不同对象对于同一个方法(Cut)调用表现出不同行为多态性主要是靠重写和隐藏来实现 a.(父类引用指向子类对象)b.(父类类型做参数,传递子类对象)自定义方法参数是父类类型 传递的实参是子类对象c.(父类类型作返回类型,return子类对象)自定义方法的返回类型是父类类型,return是类对象注:都是把子类对象赋给父类类型 举例: 添加乐器类using System;using System.Collections.Generic;using System.Linq;using S

黑马程序员--oc 类的封装 继承 和多态

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 成员变量的命名规范: 成员变量名要以 _开头 作用: 1.可以让成员变量和get方法的名称区分开 2.可以和局部变量区分开,一看到以_开头的变量一般都是成员变量 封装: 在定义成员变量时,尽量不要用@public 这种写法 ,而是使用set方法和get方法 @interface Student : NSObject { int _age; } /* set方法: 作用:提供一个方法给外界设置成

Java中封装继承和多态

封装: 封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度. 适当的封装可以让程式码更容易理解和维护,也加强了程式码的安全性. 访问修饰符有public,private,protected,默认四种. 通过private将类封装起来,防止被随意更改,通过写public的get,set方法让别人调用.