黑马程序员__c#基础4
------- Windows Phone 7手机开发、.Net培训、期待与您交流!
namespace _02类
{
class Program
{
static void Main(string[] args)
{
//实例化
Person lsPerson = new Person();
面向对象的概念说起来很复杂
面向对象(Object Oriented,OO)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
简单的介绍了下应用的领域!
简单的介绍了下应用的领域!
面向对象最基本的3个要素(抽象很好理解就不介绍了)(随着发展要素也可能增多!)先简单介绍下:
1 封装(Encapsulation)
2继承(Inheritance)
3多态(Polymorphism)
抽象很好理解就不介绍了
属性----- 对象具有的各种特征
每个对象的属性都有个特定的值
比如一个人的身高体重腰围肤色等这些就是属性
属性值就是对应属性的数值当然这个数值不一定是数字,
比如身高:155
身高就相当于属性 155就是它的属性值
比如肤色 黄色
肤色就相当于属性 黄色就是属性值
方法:就是动作.行为. 动作
对象是实实在在存在的不是指某一个类是指具体的某一个事物看的到摸的着的。
一切皆对象。
类是模子,确定对象将会拥有的特性(属性)和行为(方法)。
类是对象的类型
类和对象的区别:
类是一个抽象概念,仅仅是一个模板在生活中找不到具体的事物
对象是一个能看的到摸的着的具体实体。
对象可以叫做类的实例化。
类不占内存对象才占内存。
类的语法
访问修饰符 class 类名
{
成员
}
类中可以包含变量的定义和方法。
通过类来产生一个对象的过程就叫做类的实例化。
类的实例化,用关键字new
语法: 类名 实例名 = new 类名();
类的成员的访问:
实例名。属性
实例名。方法名();
贴心小贴士:
由static修饰的是静态的调用的时候用类名。来访问
由static修饰的是静态的调用的时候用类名。来访问
不加static 就要用new实例化
用实例名。来访问
访问修饰符介绍
public :可以在任何地方被访问
internal : 只能在本项目中被访问
private: 只能在本类中被访问
protected: 在能在本类和子类中被访问
在一个类中定义变量或方法时,没有写访问修饰符那么默认的访问修饰符位private.
在某些情况下不希望用户直接赋值我们采取的方法是用private 修饰的一个字段
在定义一个public修饰的一个字段名字和你上面写的要一样却别就是首字母要大写。
举例说明一下;
private int age;
//定义一个变量里面含有get /set方法我们就叫做属性
public int Age
{
get
{
当用户取值的时候调用get方法 我们就返回一个值
return age
}
set
{
//当用户通过=赋值时会调用set方法
//set 中有个关键字是value 在value中存着用户的赋值
}
//我们平时遇到的只读只写就是只能调用他们其中的一个方法就可以了。
}
通过一个公共属性来保护私用的变量。
属性就是 定义个public 修饰的具有get/set方法的变量这个变量是用于保护私一个私有变量
的。
小技巧申请一个字段用ctrl+r+e就可以自动生成属性很方便
就是在菜单栏里选择重构--> 封装字段
下面请开举例:
namespace _02类
{
class Program
{
static void Main(string[] args)
{
//实例化
Person lsPerson = new Person();
给公共变量赋值
lsPerson.Sex = '男';
lsPerson.Name = "李四";
lsPerson.Age = 18;
lsPerson.Chinese = 120;
lsPerson.Mathematics = 99;
lsPerson.English = 100;
lsPerson.Sex = '男';
lsPerson.Name = "李四";
lsPerson.Age = 18;
lsPerson.Chinese = 120;
lsPerson.Mathematics = 99;
lsPerson.English = 100;
//调用方法
lsPerson.Say();
lsPerson.Computer();
Console.ReadKey();
}
}
}
lsPerson.Say();
lsPerson.Computer();
Console.ReadKey();
}
}
}
namespace _02类
{
class Person
{
//声明变量并封装字段
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
{
class Person
{
//声明变量并封装字段
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
//声明变量并封装字段
int age;
public int Age
{
get { return age; }
set {
if (value >= 0)
{
age = value;
}
else
{
age = 0;
}
}
}
int age;
public int Age
{
get { return age; }
set {
if (value >= 0)
{
age = value;
}
else
{
age = 0;
}
}
}
//声明变量并封装字段
char sex;
public char Sex
{
get { return sex; }
set {
if (value == '男' || value == '女')
{
sex = value;
}
else
{
sex = '男';
}
}
}
char sex;
public char Sex
{
get { return sex; }
set {
if (value == '男' || value == '女')
{
sex = value;
}
else
{
sex = '男';
}
}
}
//声明变量并封装字段
double chinese;
public double Chinese
{
get { return chinese; }
set {
if ((value >= 0) && (value <= 150))
{
chinese = value;
}
else
{
chinese = 0;
}
}
}
double mathematics;
public double Mathematics
{
get { return mathematics; }
set {
if ((value >= 0) && (value <= 150))
{
mathematics = value;
}
else
{
mathematics = 0;
}
}
}
double chinese;
public double Chinese
{
get { return chinese; }
set {
if ((value >= 0) && (value <= 150))
{
chinese = value;
}
else
{
chinese = 0;
}
}
}
double mathematics;
public double Mathematics
{
get { return mathematics; }
set {
if ((value >= 0) && (value <= 150))
{
mathematics = value;
}
else
{
mathematics = 0;
}
}
}
//声明变量并封装字段
double english;
public double English
{
get { return english; }
set {
if ((value >= 0) && (value <= 150))
{
english = value;
}
else
{
english = 0;
}
}
}
//介绍自己的方法
public void Say()
{
Console.WriteLine("我叫{0},性别{1},今年{2}岁了",name ,sex,age);
}
double english;
public double English
{
get { return english; }
set {
if ((value >= 0) && (value <= 150))
{
english = value;
}
else
{
english = 0;
}
}
}
//介绍自己的方法
public void Say()
{
Console.WriteLine("我叫{0},性别{1},今年{2}岁了",name ,sex,age);
}
//总成绩和平均成绩 的方法
public void Computer()
{
Console.WriteLine("我叫{0},我的总分是{1},平局分是{2}", name, english + mathematics + chinese, (english + mathematics + chinese) / 3);
}
}
}
public void Computer()
{
Console.WriteLine("我叫{0},我的总分是{1},平局分是{2}", name, english + mathematics + chinese, (english + mathematics + chinese) / 3);
}
}
}
详情请点击http://edu.youkuaiyun.com/heima
------- Windows Phone 7手机开发、.Net培训、期待与您交流!