Разделы презентаций


Объекты и типы

Содержание

3)public class MyNumber { private int number; public MyNumber(int number) { this.number = number; }}4)MyNumber numb = new MyNumber () ; //вызовет ошибку при

Слайды и текст этой презентации

Слайд 11)
public class MyClass i
{
public MyClass ()
{
}
// остаток определения класса

2)
public MyClass ()

// конструктор без параметров
{
//код конструктора
}
public MyClass(int number)

// другая перегрузка
{
//код конструктора
}
1)public class MyClass	i{public MyClass (){}// остаток определения класса2)public MyClass () // конструктор без параметров {  //код

Слайд 23)
public class MyNumber
{
private int number;
public

MyNumber(int number)
{
this.number = number;

}
}
4)
MyNumber numb = new MyNumber () ; //вызовет ошибку при компиляции
5)
public class MyNumber
{
private int number;
private MyNumber(int number) // другая перегрузка
{
this.number = number;
}
}
3)public class MyNumber {  private int number;  public MyNumber(int number)  {

Слайд 36)
class MyClass
{
static MyClass ()
{

// код инициализации
}
//

остаток определения класса
}

7)
namespace Wrox.ProCSharp.StaticConstructorSample
{
public class UserPreferences
{
public static readonly Color BackColor;
static UserPreferences ()
{

6)class MyClass {  static MyClass ()   {    // код инициализации

Слайд 4 {
DateTime now = DateTime.Now;

if (now.DayOfWeek == DayOfWeek.Saturday ||

now.DayOfWeek == DayOfWeek.Sunday)
BackColor = Color.Green;
else
BackColor = Color.Red;
}
private UserPreferences ()
{
}
}
}

8)
using System;
using System.Drawing;
{    DateTime now = DateTime.Now;    if (now.DayOfWeek == DayOfWeek.Saturday ||

Слайд 59)
class MainEntryPoint
{
static void Main(string[] args)
{

Console.WriteLine("Предпочтение пользователя: BackColor равно: "

+ UserPreferences.BackColor.ToString());
}
}

10)
Предпочтение пользователя: BackColor равно: Color [Red]

11)
class Car
{
private string description;
private uint nWheels;

9)class MainEntryPoint { static void Main(string[] args)  {   Console.WriteLine(

Слайд 6public Car(string description, uint nWheels)
{
this.description

= description;
this.nWheels = nWheels;
}
public

Car(string description)
{
this.description = description;
this.nWheels = 4;
}
// и т.д.
12)
class Car
{
private string description;
private uint nWheels;
public Car(string description, uint nWheels)
{
this.description = description;
this.nWheels = nWheels;
}
public Car(string description, uint nWheels)  {   this.description = description;    this.nWheels =

Слайд 7 public Car(string description) : this(description, 4)
{
}
//

и т.д.
13)
Car myCar = new Car("Proton Persona");
14)
public class DocumentEditor
{

public static readonly uint MaxDocuments;
static DocumentEditor ()
{
MaxDocuments = DoSomethingToFindOutMaxNumber();
}
15)
public class Document
{
public readonly DateTime CreationDate;
public Document()
{

public Car(string description) : this(description, 4) { } // и т.д.13)Car myCar = new Car(

Слайд 8 // Читаем дату создания файла. Предположим, что в

результате
// получаем 1 января 2010 г., но

вообще даты могут быть разными
// для различных экземпляров класса.
CreationDate = new DateTime(2008, 1, 1);
}
}
16)
void SomeMethod()
{
MaxDocuments = 10;
// Здесь - ошибка компиляции. MaxDocuments объявлен как readonly.
}
17) var captain = new {FirstName = "James", MiddleName = "T",
LastName = "Kirk"};
18) var doctor = new {FirstName = "Leonard", MiddleName = "",
LastName = "McCoy"};
19)
var captain = new (person.FirstName, person.MidleName,
person.LastName};
// Читаем дату создания файла. Предположим, что в результате   // получаем 1 января

Слайд 920) Листинг 2.8
// Использовать модификатор static.

using System;


class StaticDemo
{
// Переменная типа static.
public

static int Val = 100;

// Метод типа static.
public static int ValDiv2()
{
return Val/2;
}
}

20) Листинг 2.8// Использовать модификатор static. using System; class StaticDemo {  // Переменная типа static.

Слайд 10class SDemo
{
static void Main()
{


Console.WriteLine("Исходное значение переменной "

+ StaticDemo.Val);
StaticDemo.Val = 8;
Console.WriteLine("Текущее значение переменной" +
"StaticDemo.Val равно " + StaticDemo.Val);
Console.WriteLine("StaticDemo.ValDiv2(): " +
StaticDemo.ValDiv2());
}
}
21)
Исходное значение переменной StaticDemo.Val равно 100
Текущее значение переменной StaticDemo.Val равно 8
StaticDemo.ValDiv2(): 4
class SDemo {  static void Main()  {   Console.WriteLine(

Слайд 1122) Листинг 2.9
class StaticError
{
public int Denom = 3;

// обычная переменная экземпляра
public static int Val =

1024; // статическая переменная
 
/* Ошибка! Непосредственный доступ к нестатической
переменной из статического метода недопустим. */
static int ValDivDenom()
{
return Val/Denom; // не подлежит компиляции!
}
}
23) Листинг 2.10
using System;
 
class AnotherStaticError
{
// Нестатический метод.
22) Листинг 2.9class StaticError { public int Denom = 3; // обычная переменная экземпляра  public static

Слайд 12 void NonStaticMeth()
{
Console.WriteLine("В методе NonStaticMeth().");
}
 
/*

Ошибка! Непосредственный вызов нестатического
метода из статического

метода недопустим. */
static void staticMeth()
{
NonStaticMeth(); // не подлежит компиляции!
}
}
24) Листинг 2.11
class MyClass
{
// Нестатический метод.
void NonStaticMeth()
{
Console.WriteLine("В методе NonStaticMeth().");
}
void NonStaticMeth()	 {  Console.WriteLine(

Слайд 13/* Нестатический метод может быть вызван из

статического метода по ссылке на объект. */
public static

void staticMeth(MyClass ob)
{
ob.NonStaticMeth(); // все верно!
}
}

25) Листинг 2.12

// Использовать поле типа static для подсчета
// количества экземпляров существующих объектов.

using System;

class CountInst
{
static int count = 0;
/* Нестатический метод может быть вызван из   статического метода по ссылке на объект. */

Слайд 14 // Инкременировать подсчет при создании объекта.
public CountInst()

{
count++;
}

// Декременировать

подсчет при уничтожении объекта.
~CountInst()
{
count--;
}

public static int GetCount() {
return count;
}
}

// Инкременировать подсчет при создании объекта. public CountInst()  {   count++;  }

Слайд 15class CountDemo
{
static void Main()
{

CountInst ob;


for(int i=0; i

< 10; i++) {
ob = new CountInst();
Console.WriteLine("Текущий подсчет: " + CountInst.GetCount());
}
}
}
26)
Текущий подсчет: 1
Текущий подсчет: 2
Текущий подсчет: 3
Текущий подсчет: 4
Текущий подсчет: 5

class CountDemo {  static void Main()  {   CountInst ob;    for(int

Слайд 16Текущий подсчет: 6
Текущий подсчет: 7
Текущий подсчет: 8
Текущий подсчет: 9
Текущий подсчет:

10

27) Листинг 2.13
// Использовать статическую фабрику класса.

using System;



class MyClass
{
int a, b;

// создать фабрику для класса MyClass.
static public MyClass Factory(int i, int j)
{
MyClass t = new MyClass();
Текущий подсчет: 6Текущий подсчет: 7Текущий подсчет: 8Текущий подсчет: 9Текущий подсчет: 1027) Листинг 2.13// Использовать статическую фабрику класса.

Слайд 17 t.a = i;
t.b = j;



return t; // возвратить объект
}



public void Show()
{
Console.WriteLine("a и b: " + a + " " + b);
}
}

class MakeObjects
{
static void Main()
{
int i, j;

t.a = i;   t.b = j;   return t; // возвратить объект

Слайд 18 // Создать объекты, используя фабрику.
for(i=0,

j=10; i < 10; i++, j--) {

MyClass ob = MyClass.Factory(i, j); // создать объект
ob.Show();
}

Console.WriteLine();
}
}

28)
MyClass ob = MyClass.Factory(i, j); // создать объект

// Создать объекты, используя фабрику.   for(i=0, j=10; i < 10; i++, j--) {

Слайд 1929)
class Dimensions
{
public double Length;
public double Width;
}

30)
struct

Dimensions
{
public double Length;
public double

Width;
}

31) Листинг 2.14
struct Dimensions
{
public double Length;
public double Width;

29)class Dimensions { public double Length;  public double Width;}30)struct Dimensions {  public double Length;

Слайд 20Dimensions(double length, double width)
{
Length=length;

Width=width;
}
public int Diagonal
{

get
{
return Math.Sqrt(Length*Length + Width*Width);
}
}
}

32)
Dimensions point = new Dimensions();
point.Length = 3;
point.Width = 6;

Dimensions(double length, double width)  {   Length=length;    Width=width; } public int Diagonal

Слайд 2133)
Dimensions point;
point.Length = 3;
point.Width = 6;

34)
Dimensions point;
Double

D = point.Length;

35)
struct Dimensions
{
public double Length = 1;

// Ошибка. Начальные значения не разрешены,
public double Width = 2;
// Ошибка. Начальные значения не разрешены.
}

33)Dimensions point; point.Length = 3; point.Width = 6;34)Dimensions point; Double D = point.Length;35)struct Dimensions { public double

Слайд 2236)
partial class TheBigClass
{
public void MethodOne()
{
}
}
// BigClassPart2.cs
partial class

TheBigClass
{
public void MethodTwo()
{
}
}

37)
public, private, protected, internal, abstract,

sealed, new,
общие ограничения

36)partial class TheBigClass{ public void MethodOne() { }}// BigClassPart2.cspartial class TheBigClass{ public void MethodTwo() { }}37)public, private,

Слайд 2338) Листинг 2.15
[CustomAttribute]
partial class TheBigClass : TheBigBaseClass, IBigClass
{
public

void MethodOne()
{
}
}
// BigClassPart2.cs
[AnotherAttribute]
partial class TheBigClass : IotherBigClass


{
public void MethodTwoO
{
}
}
38) Листинг 2.15[CustomAttribute]partial class TheBigClass : TheBigBaseClass, IBigClass { public void MethodOne() { }}// BigClassPart2.cs [AnotherAttribute]partial class

Слайд 2439)
[CustomAttribute]
[AnotherAttribute]
partial class TheBigClass:TheBigBaseClass,IBigClass,OtherBigClass
{
public void MethodOne()
{
}

public void MethodTwo()
{
}
}
40)
static class StaticUtilities
{
public static

void HelperMethod()
{
}
}
39)[CustomAttribute] [AnotherAttribute]partial class TheBigClass:TheBigBaseClass,IBigClass,OtherBigClass { public void MethodOne() { } public void MethodTwo() { }}40)static class StaticUtilities

Слайд 2541) StaticUtilities.HelperMethod();

42)
int i = -50;
string str = i.ToString(); // возвращает

"-50"

43)
enum Colors {Red, Orange, Yellow};
// далее в коде.

. .
Colors favoriteColor = Colors.Orange;
string str = favoriteColor.ToString(); // возвращает "Orange"

44) Листинг 2.16
using System;
namespace Wrox
{
class MainEntryPoint
{

41) StaticUtilities.HelperMethod();42)int i = -50;string str = i.ToString(); // возвращает

Слайд 26static void Main(string[] args)
{

Money cashl = new Money();
cashl.Amount

= 40M;
Console.WriteLine("cashl.ToString() возвращает: " +
cashl.ToString());
Console.ReadLine();
}
}
class Money
{
private decimal amount;
public decimal Amount
{
get
{
return amount;
}

static void Main(string[] args)   {    Money cashl = new Money();

Слайд 27set
{

amount = value;
}
}

public override string ToString()
{
return "$'* + Amount.ToString();
}
}
}

45) cash1.ToString() возвращает: $40

47) сash1.AddToAmount (10М);


set    {      amount = value;    }

Слайд 2846)
namespace Wrox
{
public static class MoneyExtension
{

public static void AddToAmount(this Money money,

decimal amountToAdd)
{
money.Amount += amountToAdd;
}
}
}
46)namespace Wrox{ public static class MoneyExtension  {   public static void AddToAmount(this Money money,

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика