码迷,mamicode.com
首页 > 数据库 > 详细

SQL面向对象抽象类

时间:2016-08-15 10:21:02      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:

抽象类:
抽象类,只为继承而出现,不定义具体的内容,只规定该有哪些东西;
一般抽象类中只放置抽象方法,只规定了返回类型和参数;
例:
人 - 有吃饭,睡觉方法;
男人 - 继承人抽象类,必须实现吃饭,睡觉的方法主体;
女人 - 继承人抽象类,必须四线吃饭,睡觉方法的主体;

抽象类中可以有普通属性,通过子类来使用;

1.关键字:abstract
2.抽象类可以包含抽象方法和普通方法
3.abstract关键字可以定义方法为抽象方法,抽象方法可以没有函数体
4.抽象类无法被实例化,抽象类主要做为一个基类,让别的类继承。
5.sealed和abstract关键字不能同时出现
6.如果一个子类继承自抽象类,那么子类中必须实现所有的抽象方法
7.如果子类中没有实现父类的抽象方法,那么该子类必须是抽象类
8.如果一个类里面包含抽象方法,那么该类一定是抽象类

有抽象方法的,一定是抽象类
抽象类中,不一定有抽象方法

public abstruct Ren
{
public abstruct Void Eat();
public abstruct Void Sleep();
}


接口:

极度抽象的类。

总公司--制定了规章制度(接口)--公司必须对员工进行考勤

子公司1--遵循总公司的规章制度--具体实现考勤--打卡
子公司2--遵循总公司的规章制度--具体实现考勤--点名

接口和抽象类的区别:
1.写法区别
关键字:interface
没有class关键字 类名一般用I开头
不用写public因为本身就是public,不用写abstract接口里面所有的都是抽
象的

2.接口里面不能包含普通成员
3.凡是继承接口的类,全部要实现接口里面的方法

因为团队开发,每个人负责一个模块,我只负责人的基本生活部分,另外一个人负责工作部分,还有个人负责娱乐活动部分;


public interface Work
{
void Skill();
void Place();
}

public interface Sports
{
void Sport1();
}

 

类库:
比如我写程序需要用到加法和减法两个功能,假如我不会写这两个功能,需要其它人帮忙;
那么其它人就可以直接写一个类库,供我使用;

1、源代码方法:
可以将直接写好的.cs源代码文件,添加进我的解决方案文件夹下,在解决方案资源管理器中,
项目上右键,添加,现有项,来添加此.cs源代码文件的使用,需要引入相应的命名空间;

2、类库方法:
一个dll文件,就是一个类库;
它人新建一个类库,在里面编写类和相应的方法,生成后出现一个dll文件,拿过来,放在自己的
程序文件夹里,在项目右键,添加引用,找到此dll类库文件添加,然后引用命名空间,就可以调用相应的类中的方法了;

注意类一定要是public访问权限

类库使用是多公司联合开发时使用的方式,因为每个公司都有自己的核心技术,我允许你使用,但不允许你
知道我是怎么编写的,所以需要dll类库文件,因为dll文件是将源代码文件编译后的文件,看不到源代码,
所以你只能调用不允许更改

 

 

例:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WenBenBianJi;
//using WenBenBianJi;

namespace ConsoleApplication1
{
定义抽象类
public abstract class DongWu
{
public void Run()
{

}
public abstract void Eat();
}

做一个人类来继承抽象类
public class Ren:DongWu
{
public override void Eat()
{
Console.WriteLine("吃熟食");
}
}

定义接口
interface IUSB
{
开始读取USB
void Start();

关闭USB
void Stop();
}

做一个鼠标类来实现USB接口
class ShuBiao:IUSB
{
public void Start()
{
Console.WriteLine("鼠标启动了");
}
public void Stop()
{
Console.WriteLine("鼠标停止了");
}
}


class Program
{
static void Main(string[] args)
{

Ren r = new Ren();
r.Eat();

ShuBiao s = new ShuBiao();
s.Start();
s.Stop();

//BianJi bj = new BianJi();
//WenBenBianJi.BianJi bj = new WenBenBianJi.BianJi();

Console.ReadLine();
}
}
}

SQL面向对象抽象类

标签:

原文地址:http://www.cnblogs.com/zzzy0828/p/5771811.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!