1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Static pdf

17 170 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Static

  • Objectives

  • Slide 3

  • Instance field

  • Static field

  • Static field access

  • Meaning of static field

  • Static field initialization

  • Static field default values

  • Static variable initializer

  • Static constructor

  • Invocation of static constructor

  • Initialization application

  • Static method

  • Static method invocation

  • Static method application

  • Summary

Nội dung

Static 2 Objectives • Introduce static keyword – examine syntax – describe common uses 3 Static • Static represents something which is part of a type – rather than part of an object • Two uses of static – field – method 4 Instance field • Each object gets own copy of instance fields class Item { public int Id; public int Price; public int Revenue; } instance fields Item a = new Item(); Item b = new Item(); Item c = new Item(); instances Id Price Revenue Id Price Revenue Id Price Revenue a b c 5 Static field • Only on copy of static field – created using keyword static – available even if no instances exist – also called static variable class Item { public int Id; public int Price; public static int Revenue; } static field instance fields Item a = new Item(); Item b = new Item(); Item c = new Item(); instances Revenue Id Price Id Price Id Price a b c 6 Static field access • Static field must be accessed through type name – compiler error to attempt access through instance Revenue 5 Item.Revenue = 5; access using class name 7 Meaning of static field • Static field used to model shared resource – roughly analogous to global variable in other languages Revenue Id Price Id Price Id Price a b c shared by all items 8 Static field initialization • Three options for initialization of static fields – default value – static variable initializer – static constructor 9 Static field default values • Static fields set to default value – 0 for numeric types – false for bool – '\x0000' for char – null for references class Item { public static int Revenue; } defaults to 0 Revenue 0 10 Static variable initializer • Can initialize static field in definition – called static variable initializer – initializer executed once – executed in textual order • Assigned value is limited – can be literal, new statement, or return of static method call – cannot call regular method class Item { public static int Revenue = -1; } initialize Revenue -1 [...]... 13 Static method • Method can be static – can only access static members – cannot directly access non -static members – no this object associated with call class Item { private static int revenue; public static void ResetRevenue() { revenue = 0; } static method } 14 Static method invocation • Static method must be called through type name – compile time error to attempt call through instance call static. . .Static constructor • May supply static constructor to do initialization – syntax is same name as type with keyword static – only one allowed – no parameters – no access modifier – can only access other static members class Item { public static int Revenue; static constructor static Item() { Revenue = -1; } } 11 Invocation of static constructor • • Static constructor invoked... Item.ResetRevenue(); 15 Static method application • Static methods often useful – for utility methods because global methods are not allowed – for methods for which an instance is not needed public class Math { public static double Sqrt(double d) public static double Sin (double a) public static double Log (double d) } public class Console { public static void WriteLine(string value) public static string... guarantees given – after static variable initializers – before any instances are created – before any static variables of that class are used – at most once 12 Initialization application • Instance and static initialization often used in same class pool shared by all Items instance gets a connection class Item { private static ConnectionPool pool; private Connection connection; static Item() { pool =... public static string ReadLine () } 16 Summary • • • Static represents things associated with a type – rather than a particular instance of the type – must be accessed through type name Static uses – variables used to model shared resource – methods useful when instance not needed in call Several options for initialization – default values – inline – static constructor 17 . items 8 Static field initialization • Three options for initialization of static fields – default value – static variable initializer – static constructor 9 Static. access other static members class Item { public static int Revenue; static Item() { Revenue = -1; } } static constructor 12 Invocation of static constructor • Static

Ngày đăng: 25/01/2014, 15:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w